LeetCode 3340. Check Balanced String
weekly contest 422。
題目
輸入由數字組成的字串 num。
如果字串偶數索引數字的和等於奇數索引數字的和,則稱為平衡的。
若 num 是平衡的,則回傳 true,否回傳 false。
解法
按照題意模擬。
可用兩個變數分別表示奇數、偶數和;也可以只用一個變數,以正負數表示。
時間複雜度 O(N)。
空間複雜度 O(1)。
class Solution:
def isBalanced(self, num: str) -> bool:
bal = 0
for i, c in enumerate(num):
if i%2 == 0:
bal += int(c)
else:
bal -= int(c)
return bal == 0
快樂懶人寫法。
class Solution:
def isBalanced(self, num: str) -> bool:
a = list(map(int, num))
return sum(a[::2]) == sum(a[1::2])