2020-7-20 00:35:07
寫完小冊,看到每日一題刷新了,【簡單】難度,那就順帶刷了,再順帶和小夥伴們吹吹水吧~
題目給定一個已按照升序排列 的有序數組,
找到兩個數使得它們相加之和等於目標數。
函數應該返回這兩個下標值 index1 和 index2,
其中 index1 必須小於 index2。
說明:
返回的下標值(index1 和 index2)不是從零開始的。
你可以假設每個輸入只對應唯一的答案,
而且你不可以重複使用相同的元素。
示例:
輸入: numbers = [2, 7, 11, 15], target = 9
輸出: [1,2]
解釋: 2 與 7 之和等於目標數 9 。因此 index1 = 1, index2 = 2 。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted
著作權歸領扣網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。/**
* @param {number[]} numbers
* @param {number} target
* @return {number[]}
*/
var twoSum = function(numbers, target) {
};根據上面的已知函數,小夥伴們可以先嘗試破解本題,確定了自己的答案後再看下面代碼。
解題思路三種解法:
暴力破解
const twoSum = (numbers, target) => {
for (let i = 0; i < numbers.length; i++) {
const index = numbers.indexOf(target - numbers[i], i + 1);
if (index > -1) {
return [i + 1, index + 1];
}
}
};哈希表
const twoSum = (numbers, target) => {
const map = new Map();
for (let i = 0; i < numbers.length; i++) {
if (map.has(numbers[i])) {
return [map.get(numbers[i]) + 1, i + 1];
}
map.set(target - numbers[i], i);
}
};雙指針
const twoSum = (numbers, target) => {
let low = 0, high = numbers.length - 1;
while (low < high) {
const sum = numbers[low] + numbers[high];
if (sum === target) {
return [low + 1, high + 1];
} else if (sum < target) {
low++;
} else if (sum > target) {
high--;
}
}
};除此之外,官方題解還有二分查找,這裡就不哆嗦了~
吹水7 月過半,這半個月總體來說趨勢不太對勁:
這給人的感覺是驚悚的:錢沒了,工作辭了,身體垮了!
但是,怎麼說呢?發現我一個優點就是不會太過於糾結某件事情。
簡單思考了下,找軍師 lien 吐槽了一個多鍾,聊聊工作,聊聊生活,聊聊未來。
然後第二天就打起精神來,該工作工作,學習學習,周末拾取了該有的狀態,重新規劃自己:
工作回頭能找到更好的,身體也能變得更好,就是莫名自信~
這幾天和幾個小夥伴聊得比較多的是關於 996,和自己啥時候能買房。
996:
996 的人鍛鍊時間少了,你別看平時不鍛鍊也沒什麼,你看我今年做個體檢,一身病,我還沒開始 996 呢996 學習的時間少了,如果工作內容不夠豐富,很快就會進入瓶頸區,因為你下班後或者周日,你的學習可能性會比較小(累)你的交際可能沒那麼好,如果是非常忙的 996,你一年下來認識的,可能只有你同事買房:
當然,上面都是吐槽時候的一些話,複製粘貼上來。
可能說的有點亂,不過隨便看看即可,吐槽嘛
2020-7-20 00:48:38
先這樣吧,最怕的不是裸辭,而是你明明有工作有穩定收入,但是你對自己後續日子迷茫了。
不折騰的前端,和鹹魚有什麼區別!
jsliang 會每天更新一道 LeetCode 題解,從而幫助小夥伴們夯實原生 JS 基礎,了解與學習算法與數據結構。
浪子神劍 會每天更新面試題,以面試題為驅動來帶動大家學習,堅持每天學習與思考,每天進步一點!
掃描上方二維碼,關注 jsliang 的公眾號(左)和 浪子神劍 的公眾號(右),讓我們一起折騰!
jsliang 的文檔庫 由 梁峻榮 採用 知識共享 署名-非商業性使用-相同方式共享 4.0 國際 許可協議進行許可。
基於https://github.com/LiangJunrong/document-library上的作品創作。
本許可協議授權之外的使用權限可以從 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 處獲得。