20170914

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

';
  $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
 $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)); 
  • 选择排序法:
    选择排序法思路: (从最左开始)每次选择一个相应的数,假设这个数是最小值,并记下其下标,然后和该数下表之后的数进行比较,如果发现有比该数小的就记下下标,比较循环找到最小的那个数的下标。最后该相应的数下标和最小数的下标两个数交换。
 $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));
  • 插入排序法
    将要排序的元素插入到已经假定排序好的数组的指定位置。
= 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));
  • 快速排序法

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

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

122

你可能感兴趣的:(20170914)