freedom.9
Senior Member
Constrain cho hơi thấp
Python:
class Solution:
def canSortArray(self, nums: List[int]) -> bool:
ans = []
@lru_cache(None)
def countBit(num):
count = 0
while num > 0:
count += 1
num &= num-1
return count
current = [nums[0]]
for i in range(1, len(nums)):
if countBit(nums[i]) == countBit(nums[i - 1]):
current.append(nums[i])
else:
ans += sorted(current)
current = [nums[i]]
ans += sorted(current)
return ans == sorted(nums)
Python:
class Solution:
def canSortArray(self, nums: List[int]) -> bool:
ans = []
@lru_cache(None)
def countBit(num):
count = 0
while num > 0:
count += 1
num &= num-1
return count
preMax = -inf
currentMin = nums[0]
currentMax = nums[0]
for i in range(1, len(nums)):
if countBit(nums[i]) == countBit(nums[i - 1]):
currentMax = max(nums[i], currentMax)
currentMin = min(nums[i], currentMin)
else:
preMax = currentMax
currentMin = nums[i]
currentMax = nums[i]
if currentMin < preMax:
return False
return True
Sửa lần cuối:


chứ mình ko thích xài built in
cache lại đổi qua ít memory nhưng mà nhanh hơn được tí 
