算法编程题
1
3 5
7 9 11
13 15 17 19
第N行相加的和是多少?
N*N*N;
$string = "The sunset sets at twelve o\' clock.";
$arr = [
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4,
'e' => 5,
'f' => 6,
'g' => 7,
'h' => 8,
'i' => 9,
'j' => 10,
'k' => 11,
'l' => 12,
'm' => 13,
'n' => 14,
'o' => 15,
'p' => 16,
'q' => 17,
'r' => 18,
's' => 19,
't' => 20,
'u' => 21,
'v' => 22,
'w' => 23,
'x' => 24,
'y' => 25,
'z' => 26,
];
$array = str_split(preg_replace('/\'|\\\|\s|\\./gi','',strtolower($string)));
$tmp = "";
foreach($array as $v)
{
if(!empty($v) && in_array($arr[$v],$arr)){
$tmp .= $arr[$v].' ';
}
}
dump(rtrim($tmp));
替换成数字
1.设有一组关键字序列{5,8,14,20,31,55,78,81,93,97,111},使用二分(折半)法查找关键字93需要进行多少次比较()
A. 2
B. 3
C. 4
D. 5
给定价格序列prices及它的长度n,请返回最大收益。保证长度小于等于500。
测试样例:[10,22,5,75,65,80],6
返回:87
3.共52张普通牌,牌面为2,3,4,5,6,7,8,9,10,J,Q,K,A之一,大小递增,各四张; 每人抓三张牌。两人比较手中三张牌大小,大的人获胜。
对于牌型的规则如下:
1.三张牌一样即为豹子
2.三张牌相连为顺子(A23不算顺子)
3.有且仅有两张牌一样为对子 豹子>顺子>对子>普通牌型 在牌型一样时,比较牌型数值大小(如AAA>KKK,QAK>534,QQ2>10104) 在二人均无特殊牌型时,依次比较三张牌中最大的。大的人获胜,如果最大的牌一样,则比较第二大,以此类推(如37K>89Q) 如二人牌面相同,则为平局。
输入描述:
输入两个字符串代表两个玩家的牌(如”10KQ” “354”),先输入的作为玩家1,后输入的作为玩家2
输出描述:
1 代表 玩家1赢 0 代表 平局 -1 代表 玩家2赢 -2 代表不合法的输入
输入例子:
KQ3 3Q9
10QA 6102
5810 7KK
632 74J
10102 K77
JKJ 926
68K 27A
输出例子:
4.设一组初始记录关键字序列为(49、38、65、97、76、13、27、49),则以第一个关键字49为基准而得到的一趟快速排序结果是()
A. 38,13,27,49,49,65,97,76
B. 13,27,38,49,65,76,97,49
C. 27,38,13,49,76,97,65,49
D. 27,38,13,49,97,76,65,49