wordpress网站文章形式外贸公司一般怎么找客户
2026/5/18 3:03:54 网站建设 项目流程
wordpress网站文章形式,外贸公司一般怎么找客户,推广策略是什么,高端网站建设公司好不好第一部分#xff1a;题目要求给定一个未排序的整数数组 nums #xff0c;找出数字连续的最长序列#xff08;不要求序列元素在原数组中连续#xff09;的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例 1#xff1a;输入#xff1a;nums [100,4,200,1,3…第一部分题目要求给定一个未排序的整数数组nums找出数字连续的最长序列不要求序列元素在原数组中连续的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。示例 1输入nums [100,4,200,1,3,2]输出4解释最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。示例 2输入nums [0,3,7,2,5,8,4,6,0,1]输出9示例 3输入nums [1,0,1,2]输出3提示0 nums.length 105-109 nums[i] 109第二部分代码实现1去重利用集合特性#第一步去重 nums_setset(nums)核心操作nums_set set(nums)作用将原始列表nums转换为集合set利用集合「元素唯一性」的特性自动剔除列表中的重复整数避免重复元素对后续连续序列判断造成干扰比如若列表有重复的2去重后仅保留一个不影响连续序列长度计算。2重新排序从小到大#第二步重新排序从小到大 nums_set_sortsorted(nums_set)核心操作nums_set_sort sorted(nums_set)作用使用sorted()函数对去重后的集合进行升序排序得到一个有序的列表。只有将元素按从小到大排列才能方便后续依次判断相邻元素是否为连续整数即后一个元素是否等于前一个元素 1。3计数统计最长连续整数序列长度#第三步计数 max_count 1 now_count1#考虑到有多组连续数需要比较大小 if len(nums_set_sort)0: print(0) else: nownums_set_sort[0] for i in range(1,len(nums_set_sort)): if nums_set_sort[i]now1:# 代表连续 now_count1 nownums_set_sort[i] else: if(now_countmax_count): max_countnow_count now_count1#重置 nownums_set_sort[i] if (now_count max_count):#确保max_count(如果给的是连续的12345那么到5的时候now_count5,max_count1,没有机会走上面的那个else分支 max_count now_count print(max_count)核心操作通过循环遍历有序列表对比相邻元素维护两个计数变量max_count、now_count完成统计。作用这是核心业务逻辑步骤负责计算最长连续整数序列的长度具体细分 3 个小逻辑变量初始化max_count记录全局最长长度初始为 1因为至少有 1 个元素、now_count记录当前连续序列长度初始为 1、now记录当前基准元素初始为有序列表第一个元素循环判断从列表第二个元素开始遍历若当前元素等于「基准元素 1」说明连续当前计数now_count加 1并更新基准元素若不连续就用当前计数更新全局最长计数再重置当前计数和基准元素边界兜底额外添加一次now_count max_count的判断避免出现「列表末尾是最长连续序列」无法进入else分支更新max_count的情况保证统计结果准确。4完整提交代码class Solution: def longestConsecutive(self, nums: List[int]) - int: #第一步去重 nums_setset(nums) #第二步重新排序从小到大 nums_set_sortsorted(nums_set) #第三步计数 max_count 1 now_count1#考虑到有多组连续数需要比较大小 if len(nums_set_sort)0: return 0 else: nownums_set_sort[0] for i in range(1,len(nums_set_sort)): if nums_set_sort[i]now1:# 代表连续 now_count1 nownums_set_sort[i] else: if(now_countmax_count): max_countnow_count now_count1#重置 nownums_set_sort[i] if (now_count max_count):#确保max_count(如果给的是连续的12345那么到5的时候now_count5,max_count1,没有机会走上面的那个else分支 max_count now_count return max_count5pycharm版本nums [100,4,200,1,3,2] #第一步去重 nums_setset(nums) #第二步重新排序从小到大 nums_set_sortsorted(nums_set) #第三步计数 max_count 1 now_count1#考虑到有多组连续数需要比较大小 if len(nums_set_sort)0: print(0) else: nownums_set_sort[0] for i in range(1,len(nums_set_sort)): if nums_set_sort[i]now1:# 代表连续 now_count1 nownums_set_sort[i] else: if(now_countmax_count): max_countnow_count now_count1#重置 nownums_set_sort[i] if (now_count max_count):#确保max_count(如果给的是连续的12345那么到5的时候now_count5,max_count1,没有机会走上面的那个else分支 max_count now_count print(max_count)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询