Re: [閒聊] 每日leetcode

作者: DJYOMIYAHINA (通通打死)   2024-11-06 22:58:29
直接硬幹 很慢 但可以
def canSortArray(self, nums: List[int]) -> bool:
n = len(nums)
for i in range(n):
for j in range(n-i-1):
if nums[j]>nums[j+1]:
cnt_l, cnt_r = 0, 0
l, r = nums[j], nums[j+1]
while l>0:
cnt_l += (l&1)
l = l >> 1
while r>0:
cnt_r += (r&1)
r = r >> 1
if cnt_l == cnt_r:
nums[j], nums[j+1] = nums[j+1], nums[j]
else:
return False
return True
看答案 比較聰明的方法 自己寫看看
def canSortArray(self, nums: List[int]) -> bool:
def cnt(num):
cnt = 0
while num>0:
cnt += (num&1)
num >>= 1
return cnt
cur_max = nums[0]
pre_max = 0
pre_cnt = cnt(nums[0])
for num in nums[1:]:
cur_cnt = cnt(num)
if cur_cnt==pre_cnt:
cur_max = max(cur_max, num)
else:
pre_max = cur_max
cur_max = num
pre_cnt = cur_cnt
if num<pre_max:
return False
return True
昨天的
其實想了蠻久的==
腦袋卡卡的
def minChanges(self, s: str) -> int:
ans = 0
for i in range(0, len(s), 2):
if s[i]!=s[i+1]:
ans += 1
return ans
作者: oin1104 (是oin的說)   2024-11-06 22:59:00
大師
作者: cities516 (安安路過)   2024-11-06 23:02:00
別卷了
作者: RinNoKareshi (立石凜的男友)   2024-11-06 23:03:00
大師
作者: sustainer123 (caster)   2024-11-06 23:04:00
大師
作者: CP3isgood (3345678)   2024-11-06 23:06:00
大師
作者: dont   2024-11-07 00:23:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com