0219笔试题(偏算法)

1、不用explode把字符串‘aa&&bb’分割为数组['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实现数组转字符串

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的最大质数

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个[0,999]范围的数中有两个重复的数,找出来

function find(){
    $a=range(0,999);
    $a[300]= 500;
    for($i=0;$i<1000;$i++){
        if($a[$i]!=$i){
            echo $a[$i];
        }
    }
}

5、n个人,从1开始报数,第m个淘汰后,在从1开始数(约瑟夫环问题)

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个字母所有子集

#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、数据库中存在更新,不存在则插入

INSERT INTO ipstats VALUES('192.168.0.1', 1) ON DUPLICATE KEY UPDATE clicks=clicks+1;


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,347评论 0 9
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 3,315评论 0 19
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,421评论 0 2
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,916评论 0 2
  • 三年级的沐沐君拿回家一张单元测试卷,醒目的七十七分。这个分数在小学阶段,基本上可以定性为“孤独的学渣”。为娘的我虽...
    李沐枫阅读 199评论 0 0