驼峰式的字符串与下划线式的字符串互转
<?php
$ts = microtime(true);
$r = 'open_door';
$s = '';
foreach(explode('_', $r) as $v){$s .= ucfirst($v);}
$t1 = microtime(true);
echo $s;
echo PHP_EOL,$t1 -$ts,PHP_EOL;
$s = ucwords(str_replace("_"," ",$r));
$t2 = microtime(true);
echo $s;
echo PHP_EOL,$t2 -$t1,PHP_EOL;
$s = preg_replace_callback('/(^|_)(\w)/', function ($mat){return strtoupper($mat[2]);}, $r);
$t3 = microtim...
缺失的数字是多少?
小红跟小明打赌玩一个游戏,先让小明从1~100的数字中挑选99个数字,然后一一随即报出,小红她就能找出那个缺失的数字。有什么好办法来实现小红这个把戏?整个过程中,她不能做任何笔记,只能用自己的脑子去记忆和思考。
分析:
1+2+3+...+100 = (1+100)*50=5050
有以下算法可以简化这个过程,小红每次把小明报的数加起来,然后只取最后两位数,例如,小明报数:35,88,21,65
那么,小红心里就这样纪录:
35 //第一次记住35即可
35+88=123 //所以心里记住 23 即可
23+21=44 //依然是2位数,记住44
44+65=109 //记住9即可
…..
...
算算数字“1”显示多少次
<?php
//轿车的里程表可以显示 000000 到 999999 的任意六位数组合。里程表跑完整个显示区域,此间有多少个包含一个数字“1” 的里程数? 整个过程,数字“1” 显示多少次? (如,101111 显示了5次数字“1” ,下一个里程数101112又显示了4次)
for($i=0;$i<=9;$i++){
echo $i, ' exists ', showTimes(3, $i);
echo PHP_EOL;
}
function showTimes($num, $char){
$times = 0;
$i = 0;
do{
$ipad = str_pad($i,$num,'0', STR_PAD_LEFT);
// echo $ipad,' ',substr_count($ipad, $char),PHP_EOL...
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)