Leetcode刷題(簡單題2019 9 3)

2021-09-26 19:36:51 字數 2439 閱讀 9003

當然慢慢的從第一道開始刷咯,用的是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...