当前位置: 首页 > wzjs >正文

如何做起一个网站推广百度人工电话多少号

如何做起一个网站推广,百度人工电话多少号,免费网站建设app,聊城市网站建设公司题目描述 输入长度为 n n n 的一个正整数序列,要求输出序列中最长连号的长度。 连号指在序列中,从小到大的连续自然数。 输入格式 第一行,一个整数 n n n。 第二行, n n n 个整数 a i a_i ai​,之间用空格隔开…

题目描述

输入长度为 n n n 的一个正整数序列,要求输出序列中最长连号的长度。

连号指在序列中,从小到大的连续自然数。

输入格式

第一行,一个整数 n n n

第二行, n n n 个整数 a i a_i ai,之间用空格隔开。

输出格式

一个数,最长连号的个数。

输入输出样例

输入

10
1 5 6 2 3 4 5 6 8 9

输出

5

说明/提示

数据规模与约定

对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 1 0 4 1 \leq n \leq 10^4 1n104 1 ≤ a i ≤ 1 0 9 1 \leq a_i \leq 10^9 1ai109

方式-遍历

代码

class Solution:@staticmethoddef oi_input():"""从标准输入读取数据"""num, nums = int(input()), list(map(int, input().split()))return num, nums@staticmethoddef oi_test():"""提供测试数据"""return 10, [1, 5, 6, 2, 3, 4, 5, 6, 8, 9]@staticmethoddef solution(num, nums):'''遍历'''max_len, current = 1, 1  # 最大 与 当前for i in range(1, num):if nums[i] == nums[i - 1] + 1:current += 1max_len = max(max_len, current)else:current = 1print(max_len)oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solutionif __name__ == '__main__':num, nums = oi_test()# num, nums = oi_input()solution(num, nums)

流程图

处理连续递增序列
nums[i] == nums[i-1]+1?
循环遍历i从1到num-1
current +=1
max_len = max(max_len, current)
进入下一个循环
重置current=1
遍历完成?
开始
主函数调用
读取输入数据
num, nums = oi_input()
初始化max_len=1, current=1
输出最长长度max_len
结束

方式-双指针-滑动窗口

代码

class Solution:@staticmethoddef oi_input():"""从标准输入读取数据"""num, nums = int(input()), list(map(int, input().split()))return num, nums@staticmethoddef oi_test():"""提供测试数据"""return 10, [1, 5, 6, 2, 3, 4, 5, 6, 8, 9]@staticmethoddef solution(num, nums):max_len, left = 1, 0for right in range(num - 1):  # right 表示当前检查的位置的前一个if nums[right + 1] != nums[right] + 1:left = right + 1# 窗口范围为 [left, right+1]# 前面加1 是因为 right 跟 right + 1 比的,括号外面加1 是因为要包含被减去的位置current_len = (right + 1 - left) + 1max_len = max(max_len, current_len)print(max_len)oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solutionif __name__ == '__main__':num, nums = oi_test()# num, nums = oi_input()solution(num, nums)

流程图

滑动窗口处理
nums[right+1] == nums[right]+1?
循环right从0到num-2
移动左边界left=right+1
计算窗口长度
current_len = right+1 - left +1
更新max_len
右移right
开始
调用oi_input()
读取第一行输入→num
读取第二行输入→nums
初始化max_len=1, left=0
right < num-1?
输出max_len
结束

方式-递归-缓存

代码

class Solution:@staticmethoddef oi_input():"""从标准输入读取数据"""num, nums = int(input()), list(map(int, input().split()))return num, nums@staticmethoddef oi_test():"""提供测试数据"""return 10, [1, 5, 6, 2, 3, 4, 5, 6, 8, 9]@staticmethoddef solution(num, nums):import sysfrom functools import lru_cachesys.setrecursionlimit(1000000)  # 强行增大递归深度@lru_cache(maxsize=None)def max_consecutive_length_from_index(i):if i == 0:return 1if nums[i] == nums[i - 1] + 1:return max_consecutive_length_from_index(i - 1) + 1else:return 1print(max(max_consecutive_length_from_index(i) for i in range(num)))oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solutionif __name__ == '__main__':num, nums = oi_test()# num, nums = oi_input()solution(num, nums)

流程图

递归函数处理
i == 0?
定义带缓存的递归函数max_consecutive_length_from_index
返回1
nums[i] == nums[i-1]+1?
递归调用并返回max_consecutive_length_from_index(i-1)+1
返回1
开始
调用oi_input()/oi_test()
获取num和nums
设置递归深度sys.setrecursionlimit(1000000)
遍历计算所有i的最大长度
输出最大值
结束
http://www.dtcms.com/wzjs/92330.html

相关文章:

  • 北京到安阳火车时刻表查询网站关键词优化排名怎么做
  • 厦门城乡建设局网站自媒体怎么入门
  • 免费放单平台无需垫付seo外包公司兴田德润
  • 网站如何做区域屏蔽代码seo技术培训价格表
  • 滨海新区网站建设今日国际新闻最新消息十条
  • 完善的seo网站上海官网seo
  • 北京金港建设股份有限公司网站线上推广产品
  • c2c网站页面设计特点seo网站关键词优化价格
  • 更改wordpress后台登录图标百度seo优化分析
  • 做三级分销网站制作泉州seo
  • 网站备案没有了百度竞价
  • 自己做网站可以赚钱么策划
  • 网站推广方案整理新闻20条摘抄大全
  • 高淳网站建设优化流程
  • 毕节建设厅网站杭州百度seo代理
  • 政府网站设计理念友链购买有效果吗
  • 网络直播网站开发软件开发公司
  • vps主机可以做几个网站关键词快速优化排名软件
  • 网站规划作品产品经理培训哪个机构好
  • 如何做网站的关键词排名如何推广普通话
  • 怎么使自己做的网站有音乐近一周热点新闻
  • 网站一般用什么语言做2024年将爆发新瘟疫
  • 网站建设基本技术排名优化关键词公司
  • 焦作建设厅网站今日nba战况
  • 沈阳市做网站电话解析域名网站
  • 做废品回收哪个网站好点市场调研报告ppt
  • 廊坊专业网站制作服务免费做网页的网站
  • wordpress模板资源成都网站优化
  • 三星杭州 两学一做网站百度一下官方网址
  • 无锡做网站优化价格g3云推广靠谱吗