Skip to content

Commit 450df33

Browse files
committed
做了道题
1 parent cbeff55 commit 450df33

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

main.py

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1185,5 +1185,56 @@ def climbStairs(self, n: int, costs: List[int]) -> int:
11851185

11861186
return dp[-1]
11871187

1188+
def maxTotalValue(self, nums: List[int], k: int) -> int:
1189+
n = len(nums)
1190+
minnum = 99999999999999
1191+
maxnum = -99999999999999
1192+
for i in range(n):
1193+
minnum = min(minnum, nums[i])
1194+
maxnum = max(maxnum, nums[i])
1195+
return (maxnum - minnum) * k
1196+
1197+
def maxTotalReward(self, rewardValues: List[int]) -> int:
1198+
rewardValues.sort()
1199+
n = len(rewardValues)
1200+
dp = [0 for _ in range(n)]
1201+
dp[0] = rewardValues[0]
1202+
for i in range(1, n):
1203+
idx = bisect_left(a=dp[:i], x=rewardValues[i])
1204+
if rewardValues[i]:
1205+
idx -= 1
1206+
if idx > -1:
1207+
dp[i] = dp[idx] + rewardValues[i]
1208+
else:
1209+
dp[i] = rewardValues[i]
1210+
print(idx)
1211+
print(dp)
1212+
return max(dp)
1213+
1214+
def hasSameDigits(self, s: str) -> bool:
1215+
def exchange(nums):
1216+
1217+
n = len(nums)
1218+
ans = []
1219+
for i in range(0, n-1, 1):
1220+
ans.append( (nums[i] + nums[i+1])%10 )
1221+
return ans
1222+
1223+
nums = [int(i)for i in s]
1224+
while len(nums) > 2:
1225+
nums = exchange(nums)
1226+
return nums[0] == nums[1]
1227+
1228+
def leftRightDifference(self, nums: List[int]) -> List[int]:
1229+
n = len(nums)
1230+
left = [0 for _ in range(n)]
1231+
right = [0 for _ in range(n)]
1232+
for i in range(1, n):
1233+
left[i] = nums[i - 1] + left[i - 1]
1234+
for i in range(n - 2, -1, -1):
1235+
right[i] = nums[i + 1] + right[i + 1]
1236+
ans = [abs(left[i] - right[i]) for i in range(n)]
1237+
return ans
1238+
11881239
s = Solution()
1189-
print(s.removeSubstring(s = "((()))()()()", k = 1))
1240+
print(s.maxTotalReward( [1,6,4,3,2]))

test.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from bisect import bisect_left
2+
3+
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
4+
print(bisect_left(a=a, x=1.5))

0 commit comments

Comments
 (0)