现在有n 个方格 (1<=n<=1e5),每个方格都有不同的高度 h1,h2,h3...hn (1<=hi<=1e9),Tom 最喜欢跳方格了,刚开始他可以任意选一个方格作为起点,只要他右边的方格没有当前的方格的高度高,他就会不断的往右边的方格去跳,请帮助Tom 计算一下他最多能跳多少个方格 ?输入方格总数 n(1<=n<=1e5),和 n 个数 h1,h2,h3...hn 表示每个方格的高度输出 Tom 能连续跳的最大长度?
根据题意可知,此题需要求出最长非递增序列的长度。可以设置一个count值来记录Tom 每次连续跳的方格数,设置一个max值记录连续跳的最大长度。遍历数组,当右边的数字小于等于当前数字时,count值加一,继续下一个方格。当右边的数字大于当前数字时,连续跳方格被打断,统计此次连续跳的方格数count是否大于max,若大于则用count替换max。然后继续下一轮统计,并把count 重新值 0。遍历完数组后,max 值即为Tom能连续跳的最大长度。 因此输入:5 [5,4,3,2,1] 输出:4
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。