每日一道 LeetCode 10 搜尋插入位置

2022-03-17 18:26:31 字數 1297 閱讀 8945

每天 3 分鐘,走上演算法的逆襲之路。

每日一道 leetcode 前文合集

github:

gitee:

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。

你可以假設陣列中無重複元素。

示例 1:

輸入: [1,3,5,6], 5

輸出: 2

示例 2:

輸入: [1,3,5,6], 2

輸出: 1

示例 3:

輸入: [1,3,5,6], 7

輸出: 4

示例 4:

輸入: [1,3,5,6], 0

輸出: 0

經常看我文章的同學看到這這道題都應該感覺是小意思了,最簡單也是最好想的方案,直接迭代數字,用目標字元進行比較,如果大於等於當前的字元,直接返回當前的位置就好,如果一直都沒達成這個條件,說目標字元是最大的,迴圈結束返回。

感覺說的太抽象了,直接上**比較簡潔:

既然這道題的主要考察的是查詢位置,怎麼能少得了我赫赫有名的「二分法」。

尷尬的是我在做這道題的時候並沒有想到這個演算法,看來還是刷題少,需要多加練習。

二分法的思路就不介紹了吧,這個思路不清楚可以單獨私信我。

直接上**:

上面這兩種方法雖然得到了相同的執行用時,在大量資料的情況下應該是二分法所使用的耗時更少,畢竟暴力方案在最差的情況下需要每次都把整個陣列遍歷一遍,而相對而言二分法所需要的平均迴圈次數更少。

Leetcode 每日一道

如果不出意外每天會寫一道演算法題的部落格。如果題目簡單,就一天發布一道。如果題目比較難。我會2 3天發一道演算法的題目。今天寫的這道題目比較簡單。題目如下 解法我是用c 寫的。我的解法的大致想法是 先把需要轉換的矩陣直接轉換成一維的陣列,然後再根據要求把一維中的元素全部截為以c個元素為一組的vect...

每日一道leetcode 最大括號深度

有效括號字串 定義 對於每個左括號,都能找到與之對應的右括號,反之亦然。詳情參見題末 有效括號字串 部分。巢狀深度 depth 定義 即有效括號字串巢狀的層數,depth a 表示有效括號字串 a 的巢狀深度。詳情參見題末 巢狀深度 部分。有效括號字串型別與對應的巢狀深度計算方法如下圖所示 給你乙個...

每日一道 LeetCode 11 外觀數列

每天 3 分鐘,走上演算法的逆襲之路。每日一道 leetcode 前文合集 github gitee 給定乙個正整數 n 1 n 30 輸出外觀數列的第 n 項。注意 整數序列中的每一項將表示為乙個字串。外觀數列 是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下 1.1...