當然慢慢的從第一道開始刷咯,用的是python3刷的,c++的太難了,不過也會看。
第一題是兩數之和,題目如下:
這道題我當時是想用兩個for迴圈暴力求解,然後發現如果其中有乙個數自加得到target的值,這索引就不好處理了。
最終選擇用hash表來做,**如下:
class solution:
def twosum(self, nums: list[int], target: int) -> list[int]:
b={}
for index, num in enumerate(nums):
minus_num = target - num
if (minus_num) in b:
return [b[minus_num], index]
b[num]=index
return none
第二題是三數之和,題目如下:
while len1這道題想的比較複雜,的去除重複的得需要較多工序。
第7題,整數反轉
用字串的倒序操作,rstrip()是刪除字串末尾指定字元。
第9題,判斷是否是回文數,即正序反序都是一樣的整數
最簡單字串
class solution:
def ispalindrome(self, x: int) -> bool:
return str(x)==str(x)[::-1]
下面這個較為繁瑣的是自己編的,不用字串解決的:
def ispalindrome(self, x: int) -> bool:
if x < 0:
return false
else:
n=xsum=0
b=0a=
while(n>0):
b=n%10
n=(n-b)/10
sum +=1
s=0for i in range(sum):
s = s + a[sum-i-1]*(10**i)
if s == x:
return true
else:
return false
第13題, 羅馬數字轉整數
示例:
hash map還是很重要的,將字元與數值編寫成對應的雜湊表從小到大排序,字串裡面的字元對應的數值若是小於下乙個則剪去對應的值,若是大於則加上。
class solution:
def romantoint(self, s: str) -> int:
a=sum = 0
for i in range(len(s)):
if i昨天的題目就先刷到這兒!
LeetCode刷題系列20
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...
leetcode 刷題筆記(簡單題)陣列篇
初始化陣列 int a int b new int arrays.tostring b 輸出陣列 int c new int 3 指定陣列長度 新建 arraylist 物件 arraylistarr new arraylist arr.add 1 新增元素 o 1 arr.add 3,99 向下標...
leetcode刷題總結 6 10題
六 zigzag conversion 本題屬於比較簡單的,很容易就能總結出規律。乙個zigzag數以2 numrows 2為乙個迴圈,每乙個豎行的字母下標為乙個cycle,除了第一行和最後一行,中間各行都要加乙個j cycle 2 i i為從零開始的行號,j為每個迴圈裡i cycle n.clas...