色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 課后題

丁麗芳1年前6瀏覽0評論

今天我們課上學習了JavaScript,課后老師留下了一些題目讓我們做,我們來看一下這些題目:

<p>第一題:</p>
<p>定義兩個變量a和b,分別賦值為10和20,寫一個函數swap實現兩個變量的交換,最后輸出a和b的值。</p>

這是一個典型的交換變量題目,我們可以使用第三變量來實現:

var a = 10;
var b = 20;
function swap(a, b){
var temp = a;
a = b;
b = temp;
}
swap(a, b);
console.log('a = '+a+' ,b = '+b);

輸出結果應該是a=20,b=10。

<p>第二題:</p>
<p>寫一個函數,判斷輸入的字符串是否為一個回文字符串,是則返回true,否則返回false。</p>

這里的回文字符串指的是正著念和倒著念都一樣的字符串,比如level就是一個回文字符串。

function isPalindrome(str){
var len = str.length;
for (var i=0; i<len/2; i++){
if (str.charAt(i) != str.charAt(len-1-i)){
return false;
}
}
return true;
}
console.log(isPalindrome('level')); //true
console.log(isPalindrome('abcba')); //true
console.log(isPalindrome('hello')); //false

運行結果應該是true、true、false。

<p>第三題:</p>
<p>給定一個數組nums和一個目標值target,請你給出一個算法,找到數組中兩個數之和等于目標值并返回其數組下標。</p>

這道題可以使用兩重循環來遍歷所有情況,但是這樣的時間復雜度是O(n^2),不夠高效。我們可以使用哈希表來降低時間復雜度:

function findIndex(nums, target){
var map = new Map();
for (var i=0; i<nums.length; i++){
var complement = target - nums[i];
if (map.has(complement)){
return [map.get(complement), i];
}
map.set(nums[i], i);
}
return [];
}
console.log(findIndex([2,7,11,15], 9)); //[0,1]
console.log(findIndex([3,2,4], 6)); //[1,2]
console.log(findIndex([3,3], 6)); //[0,1]

輸出結果應該是[0,1]、[1,2]、[0,1]。

以上是今天學習的所有應用題目,JavaScript語言的應用范圍很廣,只要我們學會了基本語法并理解了基本原理,就可以快速上手各種應用場景。