小白刷题。每天用博客记录一下,维持刷题热情。
题一 字符串中的单词数
<script>
/*
题目类型:简单
解题思路:string有个方法叫split,可以按需将字符串拆分成数组。
按照空格将字符串拆分为数组。计数数组中不是空格的元素
数组中会出现空格,因为字符可能以空格开头和结尾,或者在中间有多个空格。
*/
let s = ", , , , a, eaefa";
var countSegments = function(s) {
s = s.split(" "); //按照空格拆分字符串,直接转化为数组
console.log(s);
//中间的空格数大于1个时,会被记入数组
let counts=0;
s.forEach(str=>{
if(str !==''){
counts++;
}
});
return counts;
};
console.log(countSegments(s));
</script>
题二 斐波那契数列
<script>
//1.递归
// var fib = function(n) {
// if(n===0){
// return 0;
// }else if(n===1){
// return 1;
// }else {
// let result = fib(n-1)+fib(n-2);
// return result;
// }
// };
//2.动态规划
var fib = function(n) {
if(n===0){
return 0;
}else if(n===1){
return 1;
}else {
let n_2=0, n_1=1, temp;
for(let i=2;i<=n;i++){
temp = n_1+n_2;
n_2 = n_1;
n_1 = temp;
}
return temp;
}
};
console.log(fib(5));
</script>