難度:中等
聖誕活動預熱開始啦,漢堡店推出了全新的漢堡**。為了避免浪費原料,請你幫他們制定合適的製作計畫。
給你兩個整數 tomatoslices 和 cheeseslices,分別表示番茄片和乳酪片的數目。不同漢堡的原料搭配如下:
請你以 [total_jumbo, total_small]([巨無霸漢堡總數,小皇堡總數])的格式返回恰當的製作方案,使得剩下的番茄片 tomatoslices 和乳酪片 cheeseslices 的數量都是 0。
如果無法使剩下的番茄片 tomatoslices 和乳酪片 cheeseslices 的數量為 0,就請返回 。
示例 1:
輸入:tomatoslices = 16, cheeseslices = 7示例 2:輸出:[1,6]
解釋:製作 1 個巨無霸漢堡和 6 個小皇堡需要 41 + 26 = 16 片番茄和 1 + 6 = 7 片乳酪。不會剩下原料。
輸入:tomatoslices = 17, cheeseslices = 4示例 3:輸出:解釋:只製作小皇堡和巨無霸漢堡無法用光全部原料。
輸入:tomatoslices = 4, cheeseslices = 17示例 4:輸出:解釋:製作 1 個巨無霸漢堡會剩下 16 片乳酪,製作 2 個小皇堡會剩下 15 片乳酪。
輸入:tomatoslices = 0, cheeseslices = 0示例 5:輸出:[0,0]
輸入:tomatoslices = 2, cheeseslices = 1解決方案:輸出:[0,1]
class
solution
:def
numofburgers
(self, tomatoslices:
int, cheeseslices:
int)
-> list[
int]
: res =
if tomatoslices%2!=
0:return res
x = tomatoslices//
2- cheeseslices
y =2* cheeseslices - tomatoslices//
2if x <
0or y <0:
return res
return res
執行用時
記憶體消耗
語言64 ms
13.7 mb
python3
難度:中等
給你乙個 m * n 的矩陣,矩陣中的元素不是 0 就是 1,請你統計並返回其中完全由 1 組成的 正方形 子矩陣的個數。
示例 1:
輸入:matrix =示例 2:[[0,1,1,1],
[1,1,1,1],
[0,1,1,1]
]輸出:15
解釋:邊長為 1 的正方形有 10 個。
邊長為 2 的正方形有 4 個。
邊長為 3 的正方形有 1 個。
正方形的總數 = 10 + 4 + 1 = 15.
輸入:matrix =解決方案:[[1,0,1],
[1,1,0],
[1,1,0]
]輸出:7
解釋:邊長為 1 的正方形有 6 個。
邊長為 2 的正方形有 1 個。
正方形的總數 = 6 + 1 = 7.
class
solution
:def
countsquares
(self, matrix: list[list[
int]])
->
int:
n=len(matrix)
m=len(matrix[0]
) ans=
0for i in
range(0
,m):
ans+=matrix[0]
[i]for i in
range(1
,n):
ans+=matrix[i][0
]for i in
range(1
,n):
for j in
range(1
,m):
if matrix[i]
[j]:
matrix[i]
[j]=
min(matrix[i-1]
[j-1
],matrix[i]
[j-1
],matrix[i-1]
[j])+1
ans+=matrix[i]
[j]return ans
執行用時
記憶體消耗
語言864 ms
16 mb
python3
難度:困難
給你乙個由小寫字母組成的字串 s,和乙個整數 k。
請你按下面的要求分割字串:
請返回以這種方式分割字串所需修改的最少字元數。
示例 1:
輸入:s = 「abc」, k = 2示例 2:輸出:1
解釋:你可以把字串分割成 「ab」 和 「c」,並修改 「ab」 中的 1 個字元,將它變成回文串。
輸入:s = 「aabbc」, k = 3示例 3:輸出:0
解釋:你可以把字串分割成 「aa」、「bb」 和 「c」,它們都是回文串。
輸入:s = 「leetcode」, k = 8解決方案(來自網友):輸出:0
class
solution
:def
palindromepartition
(self, s:
str, k:
int)
->
int:
n=len(s)
cost=[[
0]*n for _ in
range
(n)]
t=0for t in
range(1
,n):
for i in
range(0
,n-t)
: j=i+t
cost[i]
[j]=cost[i+1]
[j-1]+
(s[i]
!=s[j]
) dp=[[
0]*k for _ in
range
(n)]
for i in
range
(n):
dp[i][0
]=cost[0]
[i]for i in
range(0
,n):
for j in
range(1
,k):
m=float
("inf"
)for l in
range
(j-2
,i):
m=min(m,cost[l+1]
[i]+dp[l]
[j-1])
dp[i]
[j]=m
return dp[-1
][-1
]
力扣第165場周賽
a 和 b 在乙個 3 x 3 的網格上玩井字棋。井字棋遊戲的規則如下 玩家輪流將棋子放在空方格 上。第乙個玩家 a 總是用 x 作為棋子,而第二個玩家 b 總是用 o 作為棋子。x 和 o 只能放在空方格中,而不能放在已經被占用的方格上。只要有 3 個相同的 非空 棋子排成一條直線 行 列 對角線...
ACM Fjut周賽某數學題
acm 數學魔鬼 令 s sum a therefore a s s n geq 2 normalsize sum a cdot a frac normalsizes s s frac because left right 單調遞減,且恆大於零 therefore lim frac 存在,記為a a...
中大周賽第7場 HASH 簡單題
description input on the first line one positive number the number of test cases,at most 100.after that per test case output per test case sample inpu...