1江锨、不用explode把字符串‘a(chǎn)a&&bb’分割為數(shù)組['aa','bb']
function explode_my($str,$p){
$array = array();
$pLen = strlen($p);
while(stripos($str, $p) !== false){
$weizhi = stripos($str, $p);
$arr_str = substr($str,0,$weizhi);
$str = substr($str,$weizhi+$pLen);
array_push($array,$arr_str);
}
if(!empty($str)){
array_push($array,$str);
}
return $array;
}
$str = 'aa&&bb&&a$ee&&';
$p= '&&';
explode_my($str,$p);
2、不用implode實(shí)現(xiàn)數(shù)組轉(zhuǎn)字符串
function implode_my($array,$p){
$str='';
for($i=0;$i<count($array);$i++){
if($i == count($array)-1){
$str .= $array[$i];
return $str;
}else{
$str .= $array[$i].$p;
}
}
}
$arr=['a','b','c'];
$p='*';
echo implode_my($arr,$p);
3、不大于N的最大質(zhì)數(shù)
function N($n){
for($i=$n;$i>1;$i--){
$k=0;
for($j=1;$j<=$n/2;$j++){
if($i % $j == 0 ){
$k++;
}
}
if($k==1){
return $i;
}
}
}
4夹供、1000個(gè)[0,999]范圍的數(shù)中有兩個(gè)重復(fù)的數(shù)霎俩,找出來(lái)
function find(){
$a=range(0,999);
$a[300]= 500;
for($i=0;$i<1000;$i++){
if($a[$i]!=$i){
echo $a[$i];
}
}
}
5哀军、n個(gè)人,從1開(kāi)始報(bào)數(shù)打却,第m個(gè)淘汰后杉适,在從1開(kāi)始數(shù)(約瑟夫環(huán)問(wèn)題)
function Josephus($m,$n){
$m = range(1,$m);
$i = 0;
while(count($m)>1){
if(($i+1)%$n==0){
unset($m[$i]);
}else{
array_push($m,$m[$i]);
unset($m[$i]);
}
$i++;
}
echo current($m);
}
6、找26個(gè)字母所有子集
#include <iostream>
using namespace std;
int main()
{
int dCapitalLetterNum=3;
char caCapitalLetter[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(int i=1;i<1<<dCapitalLetterNum;++i)
{
for(int j=0;j<dCapitalLetterNum;++j)
{
if(i>>j&0x1)
cout<<caCapitalLetter[j];
}
cout<<endl;
}
//輸出空集
cout<<"空集"<<endl;
}
7柳击、數(shù)據(jù)庫(kù)中存在更新猿推,不存在則插入
INSERT INTO ipstats VALUES('192.168.0.1', 1) ON DUPLICATE KEY UPDATE clicks=clicks+1;