рдЖрдк рдХрд┐рддрдиреЗ рд╕реБрд╕реНрдд рдФрд░ рдереЛрдбрд╝реЗ рдкрд╡рд┐рддреНрд░ рд╣реИрдВ?

рдореИрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ рдПрдХ рд╕рд╣рдХрд░реНрдореА рд╕реЗ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдХрд╣рд╛рдиреА рд╕реБрдиреА рдХрд┐ рд╕рдмрдХреБрдЫ рдмрд╣реБрдд рд╣реА рд╢рд╛рдВрдд рд╣реИ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдХрдерд╛рдХрд╛рд░ рдиреЗ рдкрд░реНрд▓ рдХреЛ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рд╢рд╛рдВрдд, рд╕рд░рд▓ рдФрд░ рд╕рд░рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ред
рдореИрдВ рд╡рд┐рд░реЛрдз рдФрд░ рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ рдЕрдЬрдЧрд░ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдХрдо рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдлрд┐рд░ рдореБрдЭрд╕реЗ рдкреВрдЫрд╛ рдЧрдпрд╛ рдХрд┐ рдЕрдЬрдЧрд░ рдореЗрдВ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдЪреАрдЬреЗрдВ рдХреИрд╕реА рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдЖрдП:

рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдПрди рдмрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред

рдмреЗрд╢рдХ, рдХрд╛рд░реНрдп рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреБрдЪреНрдЫ рд╣реИ, рдФрд░ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦрдирд╛ рдорд┐рдирдЯреЛрдВ рдХреА рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдбрдВрдмрд▓ рдиреЗ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдЦрд╛ рд▓рд┐рдпрд╛ред рдпрджрд┐ рдЖрдк рдбрдВрдмреЗрд╕ рдХреЗ рдЖрдЧреЗ рдЭреБрдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ


рдпрд╣рд╛рдБ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:

test1.py 3 рдорд┐рдирдЯ рд▓реЗрдЦрдиред "рдпреБрджреНрдз рдФрд░ рд╢рд╛рдВрддрд┐" рдЗрд╕ рдирд┐рд░реНрдгрдп рдкрд░ рд╣рд╛рд╡реА рдирд╣реАрдВ рд╣реБрдП
#!/usr/bin/env python import re n = 5 with open("./input_file.txt", "r") as f: s = f.read() l = re.findall(r'\w+',s) print repr([x for x in l if l.count(x) == n]) 


test2.pl рд▓реЗрдЦрди 30 рдорд┐рдирдЯ (рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреЛрдВрдЫрддрд╛ рд╣реИ )ред "рдпреБрджреНрдз рдФрд░ рд╢рд╛рдВрддрд┐" рдкрд░ рдХрд╛рдо рдХреЗ рдШрдВрдЯреЗ: 0m0.282s
 #!/usr/bin/perl open FH, "<input_file.txt"; local $/; $str = <FH>; $n = 5; %h = (); $h{$1}++ while $str =~ /(\w+)/g; print '['.(join ", ", grep {$h{$_} == 5} keys %h).']'; 


рдкрд╣рд▓реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдХрд╛рд░реНрдп рд╕рдордп рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:
test3.py 3 рдорд┐рдирдЯ рд▓реЗрдЦрдиред "рдпреБрджреНрдз рдФрд░ рд╢рд╛рдВрддрд┐" рдкрд░ рдХрд╛рдо рдХреЗ рдШрдВрдЯреЗ: 0m0.285s
 #!/usr/bin/env python import re n = 5 with open("./input_file.txt", "r") as f: s = f.read() d={} for x in re.findall(r'\w+',s): if x in d: d[x] += 1 else: d[x] = 1 print repr([k for k,v in d.items() if v == n]) 


test4.pl рд▓реЗрдЦрди 30 рдорд┐рдирдЯ (рдлрд┐рд░ рд╕реЗ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп)ред "рдпреБрджреНрдз рдФрд░ рд╢рд╛рдВрддрд┐" рдкрд░ рдХрд╛рдо рдХреЗ рдШрдВрдЯреЗ: 0m0.221s
рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдирддреАрдЬрд╛ рдЧрд▓рдд рд╣реИ
 #!/usr/bin/perl open FH, "<./input_file.txt"; local $/; $str = <FH>; $n = 5; chomp($str); foreach(split(/ /, $str)){$h{$_}++;} my $res ="["; foreach(keys(%h)) {if($h{$_} == $n){$res .= "$_, ";}} $res .= "]"; print $res; 


test5.hs 10 рдорд┐рдирдЯ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИред "рдпреБрджреНрдз рдФрд░ рд╢рд╛рдВрддрд┐" рдкрд░ рдХрд╛рдо рдХреЗ рдШрдВрдЯреЗ: 0m2.948s
рдЖрджрдореА рдиреЗ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдерд╛ "рд▓реЗрдХрд┐рди рдореИрдВ рд╣рд╛рд╕реНрдХреЗрд▓ рдкрд░ рднреА рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВ", рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдирд╣реАрдВ рдерд╛
 import Data.List import Data.Char main = interact -- IO $ unlines -- combine meta-data into string . map (\(n, w) -> if (n == 5) then show w else "") . sort -- sort meta-data by occurances . map (\s -> (length s, head s)) -- transform to sublist meta-data . group -- break into sublists of unique words . sort -- sort words . words -- break into words . map (\c -> -- simplify chars in input if isAlpha c then toLower c else ' ') 


рдареАрдХ рд╣реИ, рдпрджрд┐ рд╣рд╛рдВ, рддреЛ C ++ рдореЗрдВ рд╣рдо рднреА рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ
test6.cpp рд▓реЗрдЦрди 5 рдорд┐рдирдЯред "рдпреБрджреНрдз рдФрд░ рд╢рд╛рдВрддрд┐" рдкрд░ рдХрд╛рдо рдХреЗ рдШрдВрдЯреЗ: 0m0.640s
 #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string> #include <iostream> #include <set> std::multiset<std::string> words; void prepare() { char *p = 0; int err = 1; while ( 1 == scanf("%as", &p)) { words.insert(p); free(p); } if (errno) { perror("scanf"); abort(); } } void output(int n) { std::multiset<std::string>::iterator it(words.begin()); std::string out; for(;it!=words.end(); it = words.upper_bound(*it)) { if ( words.count(*it) == n ) out.append(" ," + *it); } if (out.find(" ,") == 0 ) out.erase(0, 2); std::cout<<"["<<out<<"]\n"; } int main(int argc, char **argv) { prepare(); output(atoi(argv[1])); return 0; } 


рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛рдПрдВ рдпрджрд┐ рдЖрдк рдиреАрд░рд╕рддрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИрдВ рдФрд░ рдПрдХ рд╕рдордЭрджрд╛рд░ рд╕рдордп рдореЗрдВ рдмреЗрд╣рддрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ;)
рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ input_file.txt рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рдпрд╣ рдЧреБрдЯреЗрдирдмрд░реНрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ "рд╡реЙрд░ рдПрдВрдб рдкреАрд╕" рд╣реИ

Source: https://habr.com/ru/post/In163467/


All Articles