跳到主要内容

3011.判断一个数组是否可以变为有序

链接:3011.判断一个数组是否可以变为有序
难度:Medium
标签:位运算、数组、排序
简介:如果你可以使数组变有序,请你返回 true ,否则返回 false 。

题解 1 - python

  • 编辑时间:2024-07-13
  • 执行用时:50ms
  • 内存消耗:16.34MB
  • 编程语言:python
  • 解法介绍:遍历。
class Solution:
def canSortArray(self, nums: List[int]) -> bool:
get = lambda num: bin(num).count('1')
res = []
cnt1 = -1
arr = []
for num in nums:
if cnt1 != get(num):
cnt1 = get(num)
res += sorted(arr)
arr.clear()
arr.append(num)
res += sorted(arr)
return all(res[i] <= res[i + 1] for i in range(len(res) - 1))