20170914

1.如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,如把0123456789作为基准的字串字符表,产生一个6位的字串642031,打印出的字串为 130246,可使用bash/perl/php/c任意一种。

<?php
function demo($stringList, $num){
  $randString = array_rand($stringList, $num);
  print_r($randString);
  echo '</br>';
  $randString = implode($randString);
  return strrev($randString);
}
$stringList = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$num = 6;
echo $str = demo($stringList, $num);

Array ( [0] => 0 [1] => 2 [2] => 4 [3] => 6 [4] => 7 [5] => 8 )
876420

2.array_rand(array, number)

返回包含随机键名的数组

3.str_split(string)

把字符串分割到数组中

4.排序法

  • 冒泡排序法
    思路分析:法如其名,就是像冒泡一样,每次从数组当中 冒一个最大的数出来。
    比如:
    4,2,1
    2,4,1 2,1,4 // 第一次 冒出的泡是4 比较2次 3-1
    1,2,4 // 第二次 冒出的泡是 2 比较1次 3-2
    1,2,4
<?php
function maoPaosort($nums){
  $count = count($nums);
  for ($i=1; $i <$count ; $i++) {
    for($k=0; $k<$count-$i; $k++){
      if($nums[$k] > $nums[$k+1]){
        $temp = $nums[$k];
        $nums[$k] = $nums[$k+1];
        $nums[$k+1] = $temp;
      }
    }
  }
  return $nums;
}
$nums = array(1,43,54,62,21,66,32,78,36,76,39);
var_dump(maoPaosort($nums)); 
  • 选择排序法:
    选择排序法思路: (从最左开始)每次选择一个相应的数,假设这个数是最小值,并记下其下标,然后和该数下表之后的数进行比较,如果发现有比该数小的就记下下标,比较循环找到最小的那个数的下标。最后该相应的数下标和最小数的下标两个数交换。
<?php
function selectSort($nums){
  $count = count($nums);
  for ($i=0; $i <$count-1 ; $i++) {
    $min = $i;
    for ($k=$i+1; $k <$count ; $k++) {
      if($nums[$min] > $nums[$k]){
        $min = $k;
      }
    }
    if($i != $min){
      $temp = $nums[$i];
      $nums[$i] = $nums[$min];
      $nums[$min] = $temp;
    }
  }
  return $nums;
}
$nums = array(1,43,54,62,21,99,32,78,36,76,39);
var_dump(selectSort($nums));
  • 插入排序法
    将要排序的元素插入到已经假定排序好的数组的指定位置。
<?php
function insertSort($nums){
  $count = count($nums);
  for ($i=1; $i < $count; $i++) {
    $temp = $nums[$i];
    for ($k=$i-1; $k >= 0 ; $k--) {
      if($temp < $nums[$k]){
        $nums[$k+1] = $nums[$k];
        $nums[$k] = $temp;
      }else{
        break;
      }
    }
  }
  return $nums;
}
$nums = array(1,43,54,62,21,99,32,78,36,76,39);
var_dump(insertSort($nums));
  • 快速排序法
<?php
function quickSort($nums){
    $count = count($nums);
    if($count<=1){
      return $nums;
    }

    $num = $nums[0];
    $arr_left = array();
    $arr_right = array();

    for($i=1;$i<$count;$i++){
      if($nums[$i] < $num){
        $arr_left[] = $nums[$i];
      }else{
        $arr_right[] = $nums[$i];
      }
    }
    $arr_left = quickSort($arr_left);
    $arr_right = quickSort($arr_right);

    return array_merge($arr_left, array($num), $arr_right);

}
$nums = array(1, 33, 55, 3, 32);
var_dump(quickSort($nums));

5.小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币。

输入描述:
输入包括一行,包括一个正整数n(1 ≤ n ≤ 10^9),表示小易需要的魔法币数量。
示例1
输入
10
输出
122

<?php
function magic($n){
 $result="";
 while($n){
   if($n % 2 ==0){
     $n = ($n - 2) / 2;
     $result = $result."2";
   }else{
     $n = ($n - 1) / 2;
     $result = $result."1";
   }
 }
 return strrev($result);
}
$n= 10;
echo magic($n);
122
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,123评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,031评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,723评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,357评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,412评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,760评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,904评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,672评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,118评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,456评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,599评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,264评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,857评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,731评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,956评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,286评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,465评论 2 348

推荐阅读更多精彩内容