- 论坛徽章:
- 0
|
程序员求职找工作,谁也逃不掉做编程面试题,这样的面试题,你做过吗?
1,二维数组中的查找
在一个二维 ...
无风之谷 发表于 2011-11-30 11:52
我用的perl,下面是代码。
1.数组中查找:- $r_array = [[1, 2, 8, 9], [2, 4, 9, 12], [4, 7, 10, 13], [6, 8, 11, 15]];
- $goal = 14;
- foreach $i (0..$#{$r_array}) {
- foreach $j (0..$#{$r_array->[0]}) {
- if ($r_array->[$i]->[$j] == $goal ) {
- print "true\n";
- exit 0;
- }
- }
- }
- print "false\n";
复制代码 2(1).青蛙跳:- $goal = 5;
- $step = 2;
- if ( ($goal < 1) or ($step < 1) ) {
- print "ERROR\n";
- exit -1;
- }
- $former0 = 1;
- $former1 = 1;
- $way = 0;
- for (2..$goal) {
- $way = $former0 + $former1;
- $former0 = $former1;
- $former1 = $way;
- }
- print "way:$way\n";
复制代码 2(2).n个台阶,1..n都可以跳时,跳的方法就是2的n次方种。
记跳上第n个台阶的方法数是$way_n,跳上第n-1个台阶的方法是$way_n_1,则$way_n = $way_n_1 + $way_n_2 + … + $way_1 + 1;
最后一个1是从地上直接跳了n个台阶。
$way_1 = 1;
$way_2 = 2;
$way_3 = 4;
...
$way_n = 1 + 2^1 + 2^2 + 2^3 + ... + 2^(n-1) = 2^n; |
|