FCC中級算法題solution

1. Sum All Numbers in a Range

function sumAll(arr) {
  var min,max; 
  if (arr[0]>arr[1]) {
    max = arr[0];
    min = arr[1];
  }else{
    max = arr[1];
    min = arr[0];
  }
  var sum = 0;
  for (var i = min; i <= max ; i++) {
    sum+=i;    
}
    return sum;
}

思路:
1.判斷兩個(gè)數(shù)大小,大的賦給max,小的賦給min
2.for循環(huán),將min設(shè)為初始值,max設(shè)為循環(huán)邊界值,求和
3.返回求和值

2. Diff Two Arrays

function diffArray(arr1, arr2) {
  var newArr = arr1.concat(arr2);
  newArr.sort();
  for (var i = 0; i < newArr.length; i++) {
    if (newArr[i]===newArr[i+1]) {
        delete newArr[i];
        delete newArr[i+1];
    }
  }
  return newArr.filter(Boolean);
}

思路:
1.將兩個(gè)數(shù)組連接成一個(gè)數(shù)組
2.對數(shù)組元素進(jìn)行排序
3.判斷相鄰的數(shù)是否相同,如果相同,則把這倆數(shù)全部刪除
4.過濾所有真值,并將其返回。

5. Search and Replace

function myReplace(str, before, after) {
    var beforeFirstLetter = before.substr(0,1); //截取之前字符串的首位
    var newstr;
    var flag =  /[A-Z]/.test(beforeFirstLetter);
    if(!flag){
        newstr = str.replace(before,after);
        return newstr;
        
    }else{
        var afterFirstLetter = after.substr(0,1).toUpperCase();  //將替換單詞首字母取出來大寫
        var sliced = after.split('').slice(1).join('');  //將除過首字母之外的部分切割出來
        newafter = afterFirstLetter + sliced;  //拼接首字母大寫的單詞
        newstr = str.replace(before,newafter);
        return newstr;
    }   
}

思路:
1.判斷要替換的單詞首字母是否為大寫。
2.不是的話,直接替換。
3.是大寫的將需要替換的單詞首字母變成大寫然后替換。

21.Arguments Optional

我在這道題上卡的時(shí)間比較長,因?yàn)槔斫忾]包花費(fèi)了一些時(shí)間,看了好些博客和YouTube上的教程,自己也跟著教程敲了一些代碼,理解的差不多重新回來看題,思路清晰了不少。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • leetcode刷題記錄本文記錄一下leetcode刷題記錄,記錄一下自己的解法和心得。 LeetCode Two...
    EarthChen閱讀 3,504評論 0 6
  • 數(shù)組在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數(shù)據(jù)元素的集合稱...
    朱森閱讀 4,007評論 2 13
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,771評論 0 33
  • 人的記憶就像電腦一樣,需要對信息進(jìn)行輸入、儲(chǔ)存和檢索,當(dāng)我們能夠自如的檢索到儲(chǔ)存在大腦里的信息時(shí)才算是真正意義上的...
    小瘋子會(huì)好好的閱讀 228評論 0 0
  • 以為你只是喉嚨痛,拿點(diǎn)藥吃很快就會(huì)好了。沒想到你喉嚨痛好了,又感冒咳嗽了。你就不能好好的嗎?可能是這幾月來都沒怎么...
    戶外_a931閱讀 240評論 0 0