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

如何做起一个网站推广培训seo去哪家机构最好

如何做起一个网站推广,培训seo去哪家机构最好,厦门网络推广专员,兰州做网站公司题目描述 输入长度为 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/516081.html

相关文章:

  • php在动态网站开发中的应用研究b站在线观看
  • 商城网站前台html正规的计算机培训机构
  • 网站图片代码怎么做中央下令全国各地核酸检测
  • 阿里外贸平台网站建设自己怎么创建网站
  • 海南哪家公司做网站做的好产品推广运营的公司
  • 门户网站有武汉seo服务多少钱
  • 泉州做网站seo的搜索引擎广告形式有哪些
  • 潍坊专业网站建设怎么收费关键词如何优化排名
  • 做网站dreamwa哈尔滨网站优化流程
  • 在网站里面如何做支付工具百度网站认证
  • 网站建设预期周期网站需要改进的地方
  • 燕郊网站建设北京seo优化哪家公司好
  • 幸运飞艇网站建设正规推广赚佣金的平台
  • 深圳龙华网站建设公司网站搜索系统
  • 做漫画网站 漫画哪找如何做企业网页
  • 怎们自己做网站百度seo公司一路火
  • 河北省建设厅网站怎么登陆售卖链接
  • 最珠海appseo从0到1怎么做
  • 定制鞋子哪个网站好爱站网长尾关键词挖掘工具的作用
  • 安徽工程建设信息网站进皖企业百度seo教程
  • 二手书的网站建设朋友圈广告代理商官网
  • 智慧团建登录入口官网电脑版韶关seo
  • 手机网站导航设计360安全网址
  • 做网站图片切图是什么重庆好的seo平台
  • 网页图片代码合肥seo网站建设
  • 做营销网站视频seo外包方法
  • 西安公司网站建设哪家专业余姚关键词优化公司
  • 网站布局软件网站seo培训
  • 化州网站开发公司关键词优化排名要多少钱
  • 做网站难怎么做个网站