感觉我这样写也是可以的啊!
遍历所给数组,步长设置为2。
如果arr[i-1] 为偶数,则交换
index1 = arr.index(arr[i - 1] + 1) arr[i], arr[index1] = arr[index1], arr[i]
为奇数,则交换:
index1 = arr.index(arr[i - 1] - 1) arr[i], arr[index1] = arr[index1], arr[i]
在本地是怎么测试怎么过,提交上去就是不能完全通过所有案例
求大佬帮我瞅瞅
import sys class Solution: def fun1(self): # while True: n = int(input().strip()) arr = sys.stdin.readline().strip() arr = list(map(int, arr.split())) Min = min(arr) Max = max(arr) if Min != 0&nbs***bsp;Max != 2 * n - 1: return 0 if n < 2&nbs***bsp;len(arr) != 2 * n: return 0 res = 0 for i in range(1, 2 * n, 2): diff = arr[i] - arr[i - 1] if abs(diff) == 1: continue # if diff < 0: if arr[i - 1] & 1 == 1: index1 = arr.index(arr[i - 1] - 1) arr[i], arr[index1] = arr[index1], arr[i] res += 1 else: index1 = arr.index(arr[i - 1] + 1) arr[i], arr[index1] = arr[index1], arr[i] res += 1 print(res) if __name__ == '__main__': res = Solution().fun1() # print(res)
全部评论
(1) 回帖