用于查找元素比 Python 中的其他列表更小的数组的第一次拆分的最小长度的程序
假设我们有一个数字nums的列表,我们想将列表分成两部分part1和part2,这样part1中的每个元素都小于或等于part1中的每个元素。我们必须找到可能的part1的最小长度(不是0长度)。
所以,如果输入像nums=[3,1,2,5,4],那么输出将是3,因为我们可以像part1=[3,1,2]和part2=[5,4]。
示例
让我们看看以下实现以获得更好的理解-
def solve(nums):
p = min(nums)
s = 0
for i in range(len(nums)):
if nums[i] == p:
s = i
break
p = max(nums[: s + 1])
ans = s
for i in range(s + 1, len(nums)):
if nums[i] < p:
ans = i
return ans + 1
nums = [3, 1, 2, 5, 4]
print(solve(nums))输入
[3, 1, 2, 5, 4]输出结果
3
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短