程序查找可以划分的子列表的数量,以便最终在python中对给定列表进行排序
假设我们有一个称为nums的数字列表。我们可以将列表划分为一些单独的子列表,然后对每个部分进行排序。我们必须找到可以划分到的最大子列表数,以便随后将整个num排序。
因此,如果输入像nums=[4,3,2,1,1,7,5],那么输出将是2,因为我们可以对[4,3,2,1]和[7,5]
为了解决这个问题,我们将按照以下步骤操作:
计数:=0
main_sum:=0,sorted_sum:=0
对于来自num的每个元素x和来自nums的排序形式的y,执行
数:=数+1
main_sum:=main_sum+x
sorted_sum:=sorted_sum+y
如果main_sum与sorted_sum相同,则
返回计数
让我们看下面的实现以更好地理解:
示例
class Solution:
def solve(self, nums):
count = 0
main_sum = sorted_sum = 0
for x, y in zip(nums, sorted(nums)):
main_sum += x
sorted_sum += y
if main_sum == sorted_sum:
count += 1
return count
ob = Solution()nums = [4, 3, 2, 1, 7, 5]
print(ob.solve(nums))输入值
[4, 3, 2, 1, 7, 5]
输出结果
2
热门推荐
10 兄弟告别的祝福语简短
11 简短搞笑的虎年祝福语
12 虎年夸张祝福语大全简短
13 闺蜜好运祝福语简短
14 当选团员祝福语简短精辟
15 幽默的离职祝福语简短
16 婚礼父母在家祝福语简短
17 简短的宝宝出生祝福语
18 律所年会祝福语简短