文章目录
297 · 寻找最大值
寻找 n 个数中的最大值。
def maxNum(self, nums: List[int]) -> int:
# write your code here
if not nums: return
return max(nums)
1334 · 旋转数组
给定一个数组,将数组向右移动k步,其中k为非负数。
def rotate(self, nums: List[int], k: int) -> List[int]:
# Write your code here
n = len(nums)
if n == 1: return nums
k_new = k % n
return nums[-k_new: ] + nums[: n - k_new]
下面是我之前写的
def rotate(self, nums, k):
# Write your code here
k %= len(nums)
return nums[-k:] + nums[:-k]
807 · 回文数 II
判断一个非负整数 n 的二进制表示是否为回文数
def isPalindrome(self, n):
# Write your code here
return str(bin(n))[2:] == str(bin(n))[-1:1:-1]
之前写的代码:
def isPalindrome(self, n):
# Write your code here
ss = "{0:b}".format(n)
start, end = 0, len(ss) - 1
while start < end:
if ss[start] != ss[end]: return False
start += 1
end -= 1
return True
def isPalindrome(self, n):
# Write your code here
ss = "{0:b}".format(n)
return ss == ss[::-1]
767 · 翻转数组
原地翻转给出的数组 nums
def reverseArray(self, nums):
# write your code here
left, right = 0, len(nums) - 1
while left < right:
nums[left], nums[right] = nums[right], nums[left]
left += 1
right -= 1
return nums
539 · 移动零
给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序
官方答案:
def moveZeroes(self, nums):
left, right = 0, 0
while right < len(nums):
if nums[right] != 0:
nums[left], nums[right] = nums[right], nums[left]
left += 1
right += 1