哔哩哔哩前端笔试前两道编程题代码
第一题:台阶走法,可以走1阶或2阶,n阶有多少种走法(斐波那契数列,这里用了非递归的写法)
varlen=readline()
vararr=[0,1,2,3],
i=4;
while(i<=n){
arr[i]=arr[i-1]+arr[i-2];
i++;
}
console.log(arr[n]);
扩展:还有个可以走1阶,2阶,,,n阶,走n阶有多少种走法(共有2^(n-1)中走法)
第二题:找出有序数组(已排序)中和为sum的两个数,复杂度为o(n)
思路:从两端遍历,i=0,j=len-1,如果和小于sum,i++;如果等于记录两个值;如果大于sum,j--;遍历完有两个值的话,输出,没有输出‘notfound’(不是‘notfound’哟,没有空格)
varlen=readline();
vararr=readline().split('');
varsum=readline();
vari=0,
j=len-1,
a=0,
b=0;
while(i vartmp=parseInt(arr[i])+parseInt(arr[j]);
if(tmp==sum){
a=arr[i];
b=arr[j];
break;
}
if(tmp>sum){
j--;
}
if(tmp i++;
}
}
if(a&&b){
console.log(a+''+b);
}else{
console.log('notfound');
}
第一题:台阶走法,可以走1阶或2阶,n阶有多少种走法(斐波那契数列,这里用了非递归的写法)
varlen=readline()
vararr=[0,1,2,3],
i=4;
while(i<=n){
arr[i]=arr[i-1]+arr[i-2];
i++;
}
console.log(arr[n]);
扩展:还有个可以走1阶,2阶,,,n阶,走n阶有多少种走法(共有2^(n-1)中走法)
第二题:找出有序数组(已排序)中和为sum的两个数,复杂度为o(n)
思路:从两端遍历,i=0,j=len-1,如果和小于sum,i++;如果等于记录两个值;如果大于sum,j--;遍历完有两个值的话,输出,没有输出‘notfound’(不是‘notfound’哟,没有空格)
varlen=readline();
vararr=readline().split('');
varsum=readline();
vari=0,
j=len-1,
a=0,
b=0;
while(i
if(tmp==sum){
a=arr[i];
b=arr[j];
break;
}
if(tmp>sum){
j--;
}
if(tmp
}
}
if(a&&b){
console.log(a+''+b);
}else{
console.log('notfound');
}
全部评论
相关推荐
别看我了哥们:Xy✌🏻还需要攒结婚奶粉钱,我这种***丝该咋办
点赞 评论 收藏
分享
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享