2*dp 2*bit
This commit is contained in:
parent
cdb6cccb89
commit
bccc78b194
20
190-240603-pass/main.py
Normal file
20
190-240603-pass/main.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
class Solution:
|
||||||
|
def reverseBits(self, n: int) -> int:
|
||||||
|
num = n
|
||||||
|
l = []
|
||||||
|
while num != 0:
|
||||||
|
l.append(num % 2)
|
||||||
|
num //= 2
|
||||||
|
rlt = 0
|
||||||
|
length = len(l)
|
||||||
|
while len(l) < 32:
|
||||||
|
l.append(0)
|
||||||
|
print(l)
|
||||||
|
l.reverse()
|
||||||
|
for i, n in enumerate(l):
|
||||||
|
rlt += n * pow(2, i)
|
||||||
|
return rlt
|
||||||
|
|
||||||
|
|
||||||
|
sol = Solution()
|
||||||
|
print(sol.reverseBits(43261596))
|
16
198-240603-pass/main.py
Normal file
16
198-240603-pass/main.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
class Solution:
|
||||||
|
def rob(self, nums: list[int]) -> int:
|
||||||
|
s = []
|
||||||
|
rlt = -1e6
|
||||||
|
for i, num in enumerate(nums):
|
||||||
|
maxi = num
|
||||||
|
for j in range(0, i - 1, 1):
|
||||||
|
maxi = max(s[j] + num, maxi)
|
||||||
|
s.append(maxi)
|
||||||
|
rlt = max(maxi, rlt)
|
||||||
|
return rlt
|
||||||
|
|
||||||
|
sol = Solution()
|
||||||
|
print(sol.rob([1, 2, 3, 1]))
|
||||||
|
print(sol.rob([2, 7, 9, 3, 1]))
|
||||||
|
print(sol.rob([2, 7, 9, 9, 3, 1]))
|
21
64-240603-pass/main.py
Normal file
21
64-240603-pass/main.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
class Solution:
|
||||||
|
def minPathSum(self, grid: List[List[int]]) -> int:
|
||||||
|
r = []
|
||||||
|
for i in range(len(grid)):
|
||||||
|
r.append([])
|
||||||
|
for i , l in enumerate(grid):
|
||||||
|
for j, num in enumerate(l):
|
||||||
|
if i == 0 and j == 0:
|
||||||
|
r[i].append(num)
|
||||||
|
continue
|
||||||
|
if i == 0:
|
||||||
|
r[i].append(num + r[i][j - 1])
|
||||||
|
continue
|
||||||
|
if j == 0:
|
||||||
|
r[i].append(num + r[i - 1][0])
|
||||||
|
continue
|
||||||
|
r[i].append(min(r[i - 1][j], r[i][j - 1]) + num)
|
||||||
|
width = len(grid[0])
|
||||||
|
height = len(grid)
|
||||||
|
return r[height - 1][width - 1]
|
||||||
|
|
25
66-240603-pass/main.py
Normal file
25
66-240603-pass/main.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
class Solution:
|
||||||
|
def plusOne(self, digits: list[int]) -> list[int]:
|
||||||
|
flag = 1
|
||||||
|
# x = digits[-1] + 1
|
||||||
|
# if x == 10:
|
||||||
|
# flag = 1
|
||||||
|
# digits[-1] = 0
|
||||||
|
# else:
|
||||||
|
# digits[-1] = x
|
||||||
|
for i in range(len(digits) - 1, -1, -1):
|
||||||
|
x = digits[i] + flag
|
||||||
|
digits[i] = x
|
||||||
|
if x == 10:
|
||||||
|
flag = 1
|
||||||
|
digits[i] = 0
|
||||||
|
else:
|
||||||
|
flag = 0
|
||||||
|
if digits[0] == 0:
|
||||||
|
digits.insert(0, 1)
|
||||||
|
return digits
|
||||||
|
|
||||||
|
sol = Solution()
|
||||||
|
print(sol.plusOne([1, 2, 3]))
|
||||||
|
print(sol.plusOne([1, 2, 3, 4]))
|
||||||
|
print(sol.plusOne([9]))
|
Loading…
Reference in New Issue
Block a user