摘要:寫在前面的話好幾天木有刷題啦,今天猛刷了一把,要梳理一個順序好好的學習啦一定要好好執行每天做題的計劃最近真的好忙碌啊,還要做視頻。第二題最大子序和難度簡單給定一個整數數組,找到一個具有最大和的連續子數組子數組最少包含一個元素,返回其最大和。
寫在前面的話
好幾天木有刷題啦,今天猛刷了一把,要梳理一個順序好好的學習啦~
一定要好好執行每天做題的計劃!
最近真的好忙碌啊,還要做視頻。
不過呢,看了高效學習的書,感覺其實不能說太分散的學習,應該考慮多方面的聯系,形成整體性的學習,還得琢磨琢磨...
小李加油呀!
58. 最后一個單詞的長度
難度:簡單
給定一個僅包含大小寫字母和空格 " " 的字符串,返回其最后一個單詞的長度。
如果不存在最后一個單詞,請返回0。
說明:一個單詞是指由字母組成,但不包含任何空格的字符串。
我的題解:
class Solution(object): def lengthOfLastWord(self, s): """ :type s: str :rtype: int """ lastindex = 0 res = 0 for i in s: if i == " ": lastindex = 0 else: lastindex = lastindex + 1 if lastindex > 0: res = lastindex return res
方法的效率不是太高。
解題思路:
每次遇到空格的時候,單詞的長度就置空,不是的話就加1,然后用res記錄上一次的lastindex長度。
其他
這題也要再多刷一次。
53. 最大子序和
難度:簡單
給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。
我的題解:
class Solution(object): def maxSubArray(self, nums): """ :type nums: List[int] :rtype: int """ maxSum = nums[0] sum = 0 for i in nums: sum = sum + i if sum > maxSum: maxSum = sum if sum < 0: sum = 0 return maxSum
解題思路:
這題是參考了小佳揚的思路。
重點考慮什么時候會有最大的值。
maxSum其實相當于一個記住上次最大值的點,sum則是移動的點。
當遇到會導致總和小于0的值,那一定是要排除的,因為肯定會拉低總和大小。
其他:
這次還要多考慮情況,然后再刷一次。
35. 搜索插入位置
難度:簡單
給定一個排序數組和一個目標值,在數組中找到目標值,并返回其索引。如果目標值不存在于數組中,返回它將會被按順序插入的位置。
你可以假設數組中無重復元素。
我的題解:
class Solution(object): def searchInsert(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int """ length = len(nums) for i in range(length): if nums[i] == target: return i if nums[i] > target: nums.insert(i,target) return i nums.append(target) return length
解題思路:
用了insert的辦法,找到對應的Index之后插入即可。
28. 實現strStr()
難度:簡單
實現 strStr() 函數。
給定一個 haystack 字符串和一個 needle 字符串,在 haystack 字符串中找出 needle 字符串出現的第一個位置 (從0開始)。如果不存在,則返回 -1。
我的題解:
class Solution(object): def strStr(self, haystack, needle): """ :type haystack: str :type needle: str :rtype: int """ if needle == "": return 0 length_a = len(needle) length_b = len(haystack) if length_b < length_a: return -1 for i in range(length_b): if haystack[i] == needle[0]: for j in range(length_a): if i+j == length_b: return -1 if haystack[i+j] != needle[j]: i = -1 if j == length_a-1 and i !=-1: return i i = -1 return i
解題思路:
這串代碼其實寫的有點土,還得優化下,用的就是反復循環check,暴力破解。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43308.html
摘要:刷題第三天正式刷題第三天。注意空字符串可被認為是有效字符串。錯誤的一次是因為沒有考慮空字符串,當存在為的時候,結果應該為。第二題加一難度簡單類型給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。 刷題第三天 正式刷題第三天。之前看了個說法,挺認可的。就是不要太在意一天的能呈現的價值,但是要在意累計的價值。之前很多時候我會對今天一天沒有完成的計劃而沮喪,事實上,算法的實踐...
摘要:寫在前面今天的小李的目標是排序算法,果然還是要下手寫才會更有體會,也更記得住。排序算法冒泡排序主要是比對相鄰兩個數之間的大小關系,不斷將較大值交換至最后。 寫在前面 今天的小李的目標是排序算法,果然還是要下手寫才會更有體會,也更記得住。 認真做題的分割線 第一題 215. 數組中的第K個最大元素難度:中等在未排序的數組中找到第k個最大的元素。請注意,你需要找的是數組排序后的第k個最大的...
摘要:第二題羅馬數字轉整數難度簡單羅馬數字包含以下七種字符,,,,,和。字符數值例如,羅馬數字寫做,即為兩個并列的。通常情況下,羅馬數字中小的數字在大的數字的右邊。給定一個羅馬數字,將其轉換成整數。 隨便說點啥 TIME:2019-02-01昨晚其實刷了題來著,但是沒有解出來,哭泣!但是,今天重新寫了下,解出來咯~所以今天的題量要增加咯~我會加油的! 第一題 14. 最長公共前綴難度:簡單 ...
摘要:給定一個大小為的數組,找到其中的眾數。第五題合并兩個有序數組難度簡單給定兩個有序整數數組和,將合并到中,使得成為一個有序數組。說明初始化和的元素數量分別為和。第六題二叉樹的最大深度難度簡單給定一個二叉樹,找出其最大深度。 寫在前面的話 做做做題,慢慢上手了就覺得刷題速度變快了,果然還是有點笨~希望最后一竅快點通吧~ 開始做題 第一題 169. 求眾數難度:簡單給定一個大小為 n 的數組...
摘要:第二題漢明距離難度簡單兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。給出兩個整數和,計算它們之間的漢明距離。第三題買賣股票的最佳時機難度簡單給定一個數組,它的第個元素是一支給定股票第天的價格。 寫在前面 這幾天斷斷續續做了題目,也在慢慢體會一些數據思維。終于不用邊做視頻邊寫題目啦~開心~把這幾天的題解發一下~ 認真做題的分割線 第一題 977. 有序數組的平方難度...
閱讀 2929·2021-11-24 09:39
閱讀 3612·2021-11-22 13:54
閱讀 3415·2021-11-16 11:45
閱讀 2444·2021-09-09 09:33
閱讀 3202·2019-08-30 15:55
閱讀 1297·2019-08-29 15:40
閱讀 926·2019-08-29 15:19
閱讀 3402·2019-08-29 15:14