程序员与问题求解 2020-3-20

早上6点多,突然想到之前做的一个小程序有需多可以进行优化的空间。也不由想到了一个程序员有初级、中级和高级,对于问题求解也是一样,有错误解、有效解和最优解。 程序员 问题解 初级 错误解 中级 有效解 高级 最优解 初级程序员常常在跌跌撞撞中成长,编写的程序常常是从错误解开始,如果有人指导就会少走些弯路。待到成长为中级程序员时,开始摸索到一些规律和模式,常见问题的处理方法也掌握了一些,容易得到有效解。待到晋升为高级时,由于业务抽象和编程能力的不断提升,就会越来...
浏览:1654 分类:练习 详请

字母儿歌 2020-3-8

晚上突然兴起,给牧子找字母歌听,从网上随便找了一个视频,发现他还蛮喜欢听的,用ffmpeg把歌转成mp3的,可以用那个圣经播放器放给他听。 <?php // $exec = "ffmpeg -i "D:\BaiduYunDownload\外教字母歌\A.mp4" -f mp3 -vn A.mp3"; // echo chr(65); $ch = 65; do{ echo $chr = chr($ch++),PHP_EOL; $file = sprintf("D:\BaiduYunDownload\外教字母歌\%s.mp4",$chr); // echo $file,PHP_EOL; $cmd = sprintf('ffmpeg -i "%s" -f mp3 -vn %s.mp3', $file, $chr); // echo $cmd,PHP_EOL; exec($c...
浏览:1590 分类:练习 标签: 详请

将7转化为2的指数组合1,2,4 2019-2-26

项目中有个场景,当用户在UI中选择了3个选项如A,B,C,对应的值为1,2,4后端存到数据库中要存储7(1+2+4),这个逻辑需要后端计算倒是简单,但是当需要将数据库中存储的7再次转化为界面项所需要的1,2,4,就需要麻烦些了。网上找了半天没有找到,后面自己思考了一下,用decbin这个函数实现了。 $i=7; do{ echo $i,'->',decbin($i),'->', convert($i),PHP_EOL; }while(--$i > 0); function convert($num){ $binStr = strrev(decbin($num)); $arr = []; $i=0; do{ $bit = (int)$binStr{$i}; if($bit){ $arr[$i] = $bit *pow(2,$i); } }wh...
浏览:1158 分类:练习 详请

求离一正整数最近的大于自身的“换位数”(源自程序员小灰) 2018-4-9

给定一个正整数,实现一个方法来求出离该整数最近的大于自身的“换位数”。 什么是换位数呢?就是把一个整数各个数位的数字进行全排列,从而得到新的整数。例如53241和23541。 小灰也不知道这种经过换位的整数应该如何称呼,所以姑且称其为“换位数”。 题目要求写一个方法来寻找最近的且大于自身的换位数。比如下面这样:  输入12345,返回12354 输入12354,返回12435 输入12435,返回12453 注:看题之后的第一想法是,是先对此数进行拆分组合,得到这几个数字所有的全排列,然后对其升序排序,得到自小到大的排序序列,此正整数后面的数即为大于它的“换位数”。 $t = '1324'; $r = preg_match_all('#\d#', $t, $m); $r = []; foreach($m[0] as $v){ $r[] = (int)$v; } ...
浏览:1718 分类:练习 详请

给PHP关联数组的头部增加一项 2018-3-29

$user=array( 'id'=>'5', 'name'=>'user', 'email'=>'[email protected]', 'status'=>'1'); $user1['xxx'] = 'xxxx'; $aa = array_merge($user1,$user); // $user=array( 'id'=>'5', 'name'=>'user', 'email'=>'[email protected]', 'status'=>'1'); $user = array_reverse($user); $user['xxx'] = 'xxx'; $user = array_reverse($user);
浏览:1386 分类:练习 详请