Python 分区阵列
给定整数数组Python 分区阵列,python,python-3.x,Python,Python 3.x,给定整数数组nums和int k,对数组进行分区(即移动nums中的元素),以便:所有=k的元素都向右移动 返回分区索引,即第一个索引inums[i]>=k class Solution: def partitionArray(self, nums, k): # write your code here if nums == []: return 0 left = 0 i = 0 wh
nums
和int k
,对数组进行分区(即移动nums
中的元素),以便:所有nums[i]>=k
class Solution:
def partitionArray(self, nums, k):
# write your code here
if nums == []:
return 0
left = 0
i = 0
while i <= len(nums):
if nums[i] < k:
i += 1
left += 1
else:
r = nums[i]
del nums[i]
nums.append(r)
i += 1
return left
类解决方案:
def分区数组(self、nums、k):
#在这里编写代码
如果nums=[]:
返回0
左=0
i=0
而我您正在查找索引(k)
。这似乎是一个家庭作业,所以你可能会被限制在什么内置功能,你可以使用。然而,一种类似于蟒蛇的方法是
def溶液(nums,k):
返回排序(nums)。索引(k)
你正在做一些我建议避免的事情
同时修改;循环列表时,不应从列表中添加或删除
不能循环到i==len(nums),因为列表索引从0开始
因为您实际上只是在寻找索引(k)
,所以只需跟踪小于k的数字,而不必担心重新组织列表
类解决方案:
def分区数组(self、nums、k):
#在这里编写代码
如果nums=[]:
返回0
左=0
i=0
而我
你和TigerhawkT3使用的是同一个程序吗?@TigerhawkT3同样的问题,你一定是对的。