亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 10個算法提升你的JavaScript技能

10個算法提升你的JavaScript技能

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-06-01 12:00:00 1654056000

  # 10個算法提升你的JavaScript技能

10個算法提升你的JavaScript技能

  **1)在數(shù)組中查找缺失的數(shù)字**

  ```text

  Input: [1, 2, 3, 4, 6, 7, 8, 9, 10]

  Output: 5

  const find_missing = function(input) {

  let n = input.length + 1;

  let sum = 0;

  for (let i in input) {

  sum += input[i];

  }

  return Math.floor((n * (n + 1)) / 2) - sum;

  };

  ```

  提示:算術(shù)級數(shù)和公式:

  ![img](https://pic3.zhimg.com/80/v2-06445d8bc3e42de5a9bc9da81392d52e_720w.jpg)

  **2)反轉(zhuǎn)整數(shù)**

  ```text

  Input: num = 123

  Output: 321

  Input: num = -123

  Output: -321

  const reverse = function(num) {

  let result = 0;

  while (num !== 0) {

  result = result * 10 + num % 10;

  // Math.trunc() 方法會將數(shù)字的小數(shù)部分去掉,只保留整數(shù)部分

  num = Math.trunc(num / 10);

  }

  if (result > 2**31 || result < -(2**31)) return 0;

  return result;

  };

  ```

  **3) 數(shù)組排列**

  ```text

  Input: [1,2,3]

  Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

  const permute = function(nums) {

  let results = [];

  let go = (current) => {

  if (current.length === nums.length){

  results.push(current);

  return;

  }

  nums.forEach(n => {

  if (!current.includes(n)){

  go([...current, n]);

  }

  });

  }

  go([]);

  return results;

  };

  ```

  **4) 字符串中的排列**

  ```text

  Input: s1 = "ab", s2 = "eidbao"

  Output: true

  Input: s1 = "aa", s2 = "eidbao"

  Output: false

  const checkPermutation = function(s1, s2) {

  const len1 = s1.length, len2 = s2.length;

  if (len1 > len2) return false;

  const count = Array(26).fill(0);

  for (let i = 0; i < len1; i++) {

  count[s1.charCodeAt(i)-97]++;

  count[s2.charCodeAt(i)-97]--;

  }

  if (!count.some(e => e !== 0)) return true;

  for (let i = len1; i < len2; i++) {

  count[s2.charCodeAt(i)-97]--;

  count[s2.charCodeAt(i-len1)-97]++;

  if (!count.some(e => e !== 0)) return true;

  }

  return false;

  };

  ```

  **5) 最長有效括號**

  ```text

  Input: "(()"

  Output: 2

  Input: ")()())"

  Output: 4

  const longestValidParentheses = function(S) {

  let stack = [-1], ans = 0;

  for (let i = 0; i < S.length; i++)

  if (S[i] === '(') stack.push(i)

  else if (stack.length === 1) stack[0] = i

  else stack.pop(), ans = Math.max(ans, i - stack[stack.length-1])

  return ans

  };

  ```

  **6) 4Sum**

  ```text

  const fourSum = function(nums, target) {

  let result = [];

  let length = nums.length;

  if (length < 4) return result;

  nums = nums.sort((a, b) => a - b );

  for (let i = 0; i < length - 3; i++) {

  if (nums[i] === nums[i - 1]) continue;

  for (let j = i + 1; j < length - 2; j++) {

  if (j > i + 1 && nums[j] === nums[j - 1]) continue;

  let k = j + 1;

  let l = length - 1;

  while (k < l) {

  const sum = nums[i] + nums[j] + nums[k] + nums[l];

  if (sum === target) {

  result.push([nums[i], nums[j], nums[k], nums[l]])

  }

  if (sum <= target) {

  k += 1;

  while (nums[k] === nums[k - 1]) {

  k += 1;

  }

  }

  if (sum >= target) {

  l -= 1;

  while (nums[l] === nums[l + 1]) {

  l -= 1;

  }

  }

  }

  }

  }

  return result;

  };

  ```

  **7)字符串相乘**

  ```text

  Input: num1 = "2", num2 = "3"

  Output: "6"

  const multiply = function(num1, num2) {

  if (num1 == 0 || num2 == 0) return '0';

  const result = [];

  for (let a = num1.length - 1; a >= 0; a--) {

  for (let b = num2.length - 1; b >= 0; b--) {

  const p1 = a + b;

  const p2 = a + b + 1;

  const sum = (result[p2] ?? 0) + num1[a] * num2[b];

  result[p1] = (result[p1] ?? 0) + Math.floor(sum / 10);

  result[p2] = sum % 10;

  }

  }

  result[0] == 0 && result.shift();

  return result.join('');

  };

  ```

  **8) 最短回文**

  ```text

  Input: s = "aacecaaa"

  Output: "aaacecaaa"

  Input: s = "abcd"

  Output: "dcbabcd"

  const shortestPalindrome = function(s) {

  let index = 0;

  for (let i = s.length - 1; i >= 0; i--) {

  if (s[i] === s[index]) index++;

  }

  if (index === s.length) return s;

  let remainingRev = s.substring(index, s.length);

  console.log(remainingRev);

  remainingRev = reverse(remainingRev);

  return remainingRev + shortestPalindrome(s.substring(0, index)) + s.substring(index);

  };

  function reverse(string) {

  let myString = '';

  for (let i = string.length - 1; i >= 0; i--) {

  myString = myString + string[i];

  }

  return myString;

  };

  ```

  **9)整數(shù)到英文單詞**

  ```text

  Input: num = 123

  Output: "One Hundred Twenty Three"

  Input: num = 1234567

  Output: "One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven"

  const numberToWords = function(num) {

  let result = toHundreds(num % 1000);

  const bigNumbers = ["Thousand", "Million", "Billion"];

  for (let i = 0; i < 3; ++i) {

  num = Math.trunc(num / 1000);

  result = num % 1000 !== 0 ? [toHundreds(num % 1000), bigNumbers[i], result].filter(Boolean).join(" ") : result;

  }

  return result.length === 0 ? "Zero" : result;

  }

  function toHundreds(num) {

  const numbers = ["", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten",

  "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"];

  const tens = ["", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"];

  const result = Array(3).fill("");

  let a = Math.trunc(num / 100), b = num % 100, c = num % 10;

  result[0] = a > 0 && `${numbers[a]} Hundred`;

  result[1] = b < 20 ? numbers[b] : tens[Math.trunc(b / 10)]

  result[2] = b >= 20 && `${numbers[c]}`;

  return result.filter(Boolean).join(" ");

  }

  ```

  **10) 贖金票據(jù)**

  ```text

  Input: ransomNote = "aa", magazine = "ab"

  Output: false

  Input: ransomNote = "aa", magazine = "aab"

  Output: true

  const canConstruct = function(ransomNote, magazine) {

  if (ransomNote.length > magazine.length) return false;

  let magMap = new Map();

  for(let char of magazine) {

  magMap.set(char, (magMap.get(char) || 0 ) + 1);

  }

  for(let note of ransomNote) {

  let counter = magMap.get(note);

  if (!counter) return false;

  magMap.set(note, --counter);

  }

  return true;

  };

  ```

  經(jīng)過一番研究,我得出了這 10 個算法,每個算法都有特殊的技巧,不僅可以提高

  我們的 JavaScript 技能,還可以幫助我們提高批判性思維能力。

  **- End -**

  更多關(guān)于“html5培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗,課程大綱更科學(xué)更專業(yè),有針對零基礎(chǔ)的就業(yè)班,有針對想提升技術(shù)的提升班,高品質(zhì)課程助理你實現(xiàn)夢想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
今日頭條展現(xiàn)量是什么?今日頭條展現(xiàn)量規(guī)則分析

目前頭條用戶會發(fā)現(xiàn)微頭條和問答新增了“展現(xiàn)量”指標(biāo)。那么這個今日頭條展現(xiàn)量是什么意思呢?如何提高呢?下面千鋒教育小編就和大家說...詳情>>

2023-09-19 09:15:47
我想直播帶貨去哪里找貨源一件代發(fā)

現(xiàn)在直播帶貨是一個非常火的行業(yè),越來越多的人進(jìn)入到這個圈子,但是,認(rèn)真地說,直播帶貨能不能賺到錢還是要看自己。雖然這一行業(yè)火,收入高,...詳情>>

2023-09-19 08:41:02
入駐短視頻mcn需要多少錢?有哪些費用?

眾所周知,現(xiàn)在短視頻成了很多人的自媒體創(chuàng)業(yè)道路之一,越來越多人喜歡在網(wǎng)上消遣時間,購物等。也有很多優(yōu)秀的博主去做出很多新的內(nèi)容,那么入...詳情>>

2023-09-19 08:12:47
短視頻帶貨應(yīng)該注冊什么公司?需要什么資料?

短視頻大家應(yīng)該都非常熟悉,現(xiàn)在很多人都喜歡在閑暇的時候刷短視頻,短視頻平臺也開始了直播帶貨,商家也都開始創(chuàng)業(yè)了,那么短視頻帶貨需要營業(yè)...詳情>>

2023-09-19 08:09:31
怎樣投抖加不花錢?別人能看出來嗎?

抖音一些視頻為了獲取更多點擊,一些博主機(jī)會投抖加。其實抖加的投放沒有絕對正確的方法,而不同賬號和視頻投放的策略都是不一樣的,不過一般情...詳情>>

2023-09-19 08:00:10
開班信息
北京校區(qū)
  • 北京校區(qū)
  • 大連校區(qū)
  • 廣州校區(qū)
  • 成都校區(qū)
  • 杭州校區(qū)
  • 長沙校區(qū)
  • 合肥校區(qū)
  • 南京校區(qū)
  • 上海校區(qū)
  • 深圳校區(qū)
  • 武漢校區(qū)
  • 鄭州校區(qū)
  • 西安校區(qū)
  • 青島校區(qū)
  • 重慶校區(qū)
  • 太原校區(qū)
  • 沈陽校區(qū)
  • 南昌校區(qū)
  • 哈爾濱校區(qū)
免费无码AV片在线观| 成人无码H动漫在线网站樱花| 97国产精华最好的产品有哪些 | 亚洲丰满少妇自摸| 亚洲色偷偷AV男人的天堂| 日本熟少妇裸交ⅩXX视频| 人人澡人人澡人人看添AV| 少妇无码AV无码一区| 小嫩模无套内谢第一次| 亚洲人JIZZ日本人| 97精品人妻系列无码人妻| 重口00Ⅹ变态另类| 草草CCYY免费看片线路| 国产精品亚洲第一区焦香味| 国产猛男GAY1069视频| 韩国全部三级伦在线播放| 乱码人妻Av一区二区三区| 欧洲熟妇色XXXXX欧美老妇伦| 深夜成人毛片天堂| 亚洲欧美另类在线观看| 99热国产这里只有精品9| 国产69久久精品成人看| 九九在线中文字幕无码| 秋霞电影网免费观看| 无码无套少妇毛少18PXX| 亚洲中文久久精品无码WW16| 锕锕锕锕锕锕锕好疼JK漫画| 国产情侣一区二区三区| 乱辈通奷ⅩXXXXHD| 色欲天天天天天综合网| 亚洲色婷婷综合久久| 拔萝卜全程不该盖被子怎么办 | 黑人VIDEODESEXO极品| 免费无遮挡很爽很污很黄的网站| 少妇AV一区二区三区无码| 亚洲欧美色中文字幕在线| YSL千人千色T9T9T9T| 国语自产少妇精品视频| 漂亮人妻中文字幕丝袜| 亚洲成人无码一区二区三区| А√天堂资源中文最新版地址| 国精产品W灬源码1688伊| 欧美色成人综合天天影院| 亚洲AV无码天堂一区二区三区| 夜夜春夜夜爽一区二区三区| АⅤ资源新版在线天堂| 国产精品嫩草影院永久…| 久久香蕉国产线看观看怡红院妓院| 秋霞成人无码电影在线观看| 亚洲AV午夜成人片精品网站| JZZIJZZIJ亚洲乱熟无码| 含羞草亚洲AV无码久久精品| 免费少妇A级毛片人成网| 无人区码一码二码三码是什么| 1688.COM成品网站入口| 国产麻豆精品精东影业AV网站| 久久天天躁夜夜躁狠狠2018| 玩弄丰满熟妇乱XXXXX性多毛| 69无人区码一二三四区别| 国产成人精品日本亚洲专区不卡 | 无码抽搐高潮喷水流白浆| 2020无码天天喷水天天爽| 国内精品久久久久影院优| 人人爽人人爽人人爽| 亚洲中文字幕久久无码| 非洲妓女BBWBBWW| 久久先锋男人AV资源网站| 四虎必出精品884| A∨色狠狠一区二区三区| 精品综合久久久久久8888| 无码H黄肉3D动漫在线观看| FREEZEFRAME丰满人妻| 精品无码久久久久成人漫画| 天堂…在线最新版在线| ChineSe玩弄老年熟妇| 久久久精品波多野结衣| 无码日韩做暖暖大全免费不卡| AV无码精品一区二区三区四区| 精品无码国产一区二区三区AV| 挽起裙子迈开腿坐上MBA| XXXXX18日本人HDXX| 两毫米的小洞你却稳稳命中| 亚洲AV综合AV成人网在线观看| 东京热加勒比无码少妇| 欧美人禽猛交乱配视频网站| 一本无线乱码不卡一二三四| 国产激情一区二区三区小说| 欧美大成色WWW永久网站婷| 野花社区日本免费图片| 韩国午夜理伦三级理论三级| 天堂А√资源中文在线地址BT| JIZZJIZZ少妇亚洲水多| 美丽女邻居交换5完整版| 亚洲人成人一区二区在线观看| 国产裸体歌舞一区二区| 色妓AV人妻一区二区三区| GOOD电影网韩国三级无码| 蜜桃国产乱码精品一区二区三区w| 亚洲女同精品一区二区| 国产亚洲欧美日韩剧的剧情介绍| 少妇人妻无码专区毛片| WWW无套内射高清免费| 男人把女人桶到爽免费应用| 夜夜香夜夜摸夜夜添视频| 精品久久亚洲中文无码| 亚洲AV日韩AV高潮喷潮无码天| 国产极品美女高潮无套APP| 色婷婷五月综合亚洲影院| 91麻豆精品无码一区二区三区| 精品无码三级在线观看视频| 亚洲AV无码一区东京热不卡| 国产老妇伦国产熟女老妇久| 玩弄丰满少妇XXXXX性多毛| 公翁的粗大放进我的秘密电影 | 补课老师让我爽了一夜| 欧洲乱码伦视频免费| 99久久99久久免费精品小说 | 孩交乱子XXXX高清影视| 小雪被老外黑人撑破了视频 | JIZZ在线观看中国少妇| 欧美精品亚洲日韩AⅤ| 97国产精华最好的产品有哪些| 男女猛烈无遮挡免费视频| 18禁自慰网址进入| 欧美丰满熟妇XXXXX高潮| ASS亚洲熟妇毛茸茸PICS| 女人毛毛扒开自慰| A级毛片高清免费播放| 欧美视频一区二区图文| PYTHON人马大战| 強暴強姦AV正片一区二区| 拔萝卜电视剧高清免费| 日本在线视频WWW色| 成人国产精品一区二区网站免费| 日韩精品无码区免费专区| 短乱俗小说500篇免费下载 | 男朋友想吻我腿中间那个部位 | 亚洲精品无码AⅤ片影音先锋在线| 国产偷国产偷精品高清尤物| 婷婷久久综合九色综合97最多收| 粉嫩av观看成人网站| 人人妻人人澡人人爽人人精品电影| 99久久99久久免费精品小说 | 狼友AV永久网站在线观看| 中文字幕不卡乱偷在线观看| 欧美XXXX做受欧美.88| 宝宝把腿抬起来靠墙上C| 色一情一区二区三区四区| 国产精品原创巨作AV女教师| 亚洲AV无码日韩精品影片| 精品亚洲AⅤ无码午夜在线| 一二三四日本高清社区5| 男生把小j放进女人屁股视频狂躁| IPHONE欧美高清18| 熟交XXXXⅩ欧美老妇妇牲| 国产亚洲成AV片在线观看蜜桃| 亚洲女人人体ASS| 嫩模超大胆大尺度人体写真| 成人H动漫精品一区二区| 无码免费大香伊蕉在人线国产| 好吊色欧美一区二区三区视频| 野花视频在线观看| 欧美性狂猛XXXXX深喉| 丰满熟女高潮毛茸茸欧洲视频| 午夜.DJ高清在线播放视频| 精品成在人线AV无码免费看| 亚洲同性男GV网站SEARCH| 久久露脸国产精品| 在线播放国产不卡免费视频| 欧美最猛黑人XXXX黑人猛交3p| 国产成人AV乱码免费观看| 亚洲高清成人AV电影网站| 免费无码AV片在线观看播放| 厨房里的激战2类型| 亚洲AV无码国产永久播放蜜芽| 久热中文字幕无码视频| 被下春药爽翻天按摩的人妻| 无码无套少妇毛多18P| 久久久午夜精品福利内容| GV天堂GV无码男同在线观看| 无码人妻视频一区二区三区| 久久精品人人做人人爽电影| А√中文在线资源库| 无码专区6080YY免费视频| 久久天天躁狠狠躁夜夜AⅤ| 播放片高清MV在线观看| 熟妇一区二区三区| 黑人双人RAPPER的特点| 亚洲卡1卡2乱码新区仙踪| 乱码一卡2卡3卡4卡精品| BBWBBW肥妇BBWBBW| 少妇仑乱A毛片无码| 黑人巨根在线观看| 18禁免费无码无遮挡不卡网站 | 亚洲精品乱码久久久久久蜜桃| 欧美XXXX做受视频| 国产精品亚洲综合一区在线观看| 岳又紧又嫩又多水好爽| 日本丰满熟妇乱XXXXX故事| 国产裸体XXXX视频在线播放|