-
LeetCode基礎算法題第183篇:一維數組的重新洗牌
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和精力有限,其他語言的實現有興趣的朋友請自己嘗試。
-
LeetCode基礎算法題第180篇:最大的69數
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。最大的69數(Maximum 69 Number)問題描述:給定一個僅由數字6和9組成的正整數num。你可以將6變成9或者9變成6,如果最多只允許改變一位,那麼num最大能變成幾?
-
LeetCode基礎算法題第182篇:一維數組的運行總和
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。我們將數組的運行總和定義為 runningSum[i] = sum(nums[0]…nums[i])。返回的運行總和nums。
-
LeetCode基礎算法題第184篇:好搭檔的數量
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。對於其中的兩個元素nums[i]和nums[j],如果nums[i] == nums[j] 並且 i < j 則稱呼它們為&34;。返回nums中&34;的數量。
-
LeetCode基礎算法題第188篇:多少個數字小於當前數字
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。LeetCode 1365.多少個數字小於當前數字(How Many Numbers Are Smaller Than the Current Number)問題描述:給定數組nums,對於每個nums[i], 找出nums中有多少個元素小於它
-
「Leetcode簡潔筆記」第27題:移除元素
這也是簡單呢,[翻白眼](感覺出題官有點水,怎麼跟上一題那麼像)本文答案參考自leetcode官方題解。又是原地修改。【方法1】同樣是快慢指針(跟上一題很像,但代碼編寫順序略有不同)快指針每次都向前走慢指針進行判斷:如果快指針指向的元素與慢指針指向的元素 相等,則什麼也不做(慢指針不動),直接進入下一輪循環
-
leetcode-第27題-移除元素
//給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等於 val 的元素,並返回移除後數組的新長度。 // 不要使用額外的數組空間,你必須僅使用 O(1) 額外空間並 原地 修改輸入數組。// 元素的順序可以改變。
-
LeetCode基礎算法題第186篇:一維數組逐次異或的結果
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。返回的所有元素的按順序逐次XOR的結果。那麼生成的 nums = [1], 只有一個元素,不存在異或操作,最後要返回的結果res = 1。如果 n = 4, start = 1。那麼生成的 nums = [1,3,5,7],最後要返回的結果res = 1^3^5^7。即先計算出1^3的結果,然後拿這個結果再^5,得到另一個結果再^7。根據這兩個例子,我們可以將res初始化為nums[0],即start。
-
LeetCode基礎算法題第170篇:玩籌碼
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level玩籌碼(Play with Chips)問題描述:給定一些籌碼,數組chips用來存放每個籌碼的位置,第i個籌碼的位置存放在chips[i]。你可以對每個籌碼執行如下任何一種操作,次數不限制,可以0次:將第i個籌碼向左或向右移動2個單位,代價為0。
-
LeetCode基礎算法題第178篇:和為零的N個唯一整數
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。和為零的N個唯一整數(Find N Unique Integers Sum up to Zero)問題描述:給你一個整數 n,請你返回 任意 一個由 n 個 各不相同 的整數組成的數組,並且這 n 個數相加和為 0 。
-
Leetcode每日一題378. 找出有序矩陣中第K小的元素
對於leetcode編程題,想要取得最優解,一定要充分利用題目中的條件。先看題目給的矩陣性質:每行每列均按升序排列很容易想到的結論:n * n 的矩陣中 matrix[0][0] 是最小值,matrix[n - 1][n - 1] 是最大值正向思維:直接排序,找到第k小的元素;逆向思維:對於矩陣中每個元素 matrix[i][j],判斷小於等於該值的元素總個數 sum,如果 sum
-
LeetCode基礎算法題第175篇:求最大子數組的和
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。如果我們從左向右查找,我們定義一個變量t用於保存子數組的和,按照要求,t在某一時刻總會有如下特點:如果t和下一個元素i的和比t大,那麼t+i一定比原來的t更有資格成為局部最優解;反之,如果t+i<=t,那麼t一定比t+i更有資格成為局部最優解;如果將t初始化為0,那麼通過對nums的遍歷,就會出現len(nums
-
LeetCode基礎算法題第172篇:數字乘積與和的差
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。示例:C語言實現:這道題同樣十分簡單求n的所有數字的乘積與和的差,重點就是在算法中剝離出n中的每個數字。我們知道這個方法很簡單,通過不斷的對n取10的餘數,就可以不斷的把這些數字剝離出來。所以先定義兩個變量acc和sum分別賦值為1和0,因此acc是統計積的而sum是統計和的。然後通過循環遍歷剝離n中的每個數字,然後計算acc和sum。最後返回acc和sum的差即可。
-
LeetCode基礎算法題第187篇:解壓縮行程編碼(RLE)列表
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和精力有限,其他語言的實現有興趣的朋友請自己嘗試。
-
LeetCode基礎算法題第185篇:糖果數量最多的孩子
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。糖果數量最多的孩子(Kids With the Greatest Number of Candies)問題描述:給定一個數組candies和一個整數extraCandies,其中candies[i]代表第i個孩子擁有的糖果數量。對於每個孩子。
-
LeetCode基礎算法題第173篇:將連結列表中的二進位數轉換為整數
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。將連結列表中的二進位數轉換為整數(Convert Binary Number in a Linked List to Integer)問題描述:給定一個是單連結列表的頭節點head。鍊表中每個節點的值為0或1。整個鍊表包含數字是一個十進位整數的二進位表示形式。返回該十進位整數。
-
LeetCode基礎算法題第176篇:找出所有位數為偶數的數字
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。找出所有位數為偶數的數字(Find Numbers with Even Number of Digits)問題描述:給定一個整數數組nums,返回其中數字個數為偶數的整數。
-
LeetCode基礎算法題第171篇:分割平衡字符串中的字符串
技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後到中級難度,最後到hard難度全部完。給定一個平衡的字符串 s,需要將其拆分為最大數量的平衡子字符串。返回可以拆分的平衡字符串的最大數量。
-
leetcode專項刷題(數組)-子數組最大平均數/最大子序和/數組的度
本文將繼續分享leetcode上數組專項的刷題,也是基礎題,但是屬於必須會的那種範疇。是關於基礎數組專項的分享最後一文,給自己留個底。算法都是基於python。子數組最大平均數 I問題描述給定n個整數,找出平均數最大且長度為k的連續子數組,並輸出該最大平均數輸入:[1,12,-5,-6,50,3], k = 4輸出:12.75
-
數組:就移除個元素很難麼?
元素的順序可以改變。你不需要考慮數組中超出新長度後面的元素。示例 1:給定 nums = [3,2,2,3], val = 3,函數應該返回新的長度 2, 並且 nums 中的前兩個元素均為 2。你不需要考慮數組中超出新長度後面的元素。