算法笔试模拟题精解之“Tom跳方格”

简介: 根据题意,此题需要求出最长非递增序列的长度。可以设置一个 count 值来记录 Tom 每次连续跳的方格数,设置一个 max 值记录连续跳的最大长度。

在线编程介绍

阿里云开发者社区在线编程产品,针对广大开发者学习、实践、面试、应聘、考试认证等打造的免费在线刷题神器。题库来自笔试模拟题、算法大赛模拟题等,界面整洁明了,操作简单,为用户营造专心答题的学习环境。点击链接开始体验:https://developer.aliyun.com/coding

本文为大家介绍其中的 第53题:Tom跳方格 的题目解析,具体如下:

题目描述

题目等级:容易
知识点:数组

查看题目:Tom跳方格
现在有n个方格(1<=n<=1e5),每个方格都有不同的高度h1,h2,h3...hn(1<=hi<=1e9),Tom最喜欢跳方格了,刚开始他可以任意选一个方格作为起点,只要他右边的方格没有当前的方格的高度高,他就会不断的往右边的方格去跳,请帮助Tom计算一下他最多能跳多少个方格?
输入方格总数n(1<=n<=1e5),和n个数h1,h2,h3...hn表示每个方格的高度
输出Tom能连续跳的最大长度
示例1
输入:
5
[5,4,3,2,1]
输出:
4

解题方法

根据题意,此题需要求出最长非递增序列的长度。

可以设置一个 count 值来记录 Tom 每次连续跳的方格数,设置一个 max 值记录连续跳的最大长度。

遍历数组,当右边的数字小于等于当前数字时,count 值加一,继续下一个方格。当右边的数字大于当前数字时,连续跳方格被打断,统计此次连续跳的方格数 count 是否大于 max ,若大于则用 count 替换 max。然后继续下一轮统计,并把count重新值0。遍历完数组后,max 值即为 Tom 能连续跳的最大长度。

时间复杂度:O(n)
空间复杂度:O(1)

看完之后是不是有了想法了呢,快来练练手吧>>查看题目:Tom跳方格

720-150.png

相关文章
|
7月前
|
算法 搜索推荐 Java
Java数据结构 -- 常见算法分析(查找算法、排序算法)精解详解!!!
Java数据结构 -- 常见算法分析(查找算法、排序算法)精解详解!!!
67 0
|
7月前
|
编解码 算法 前端开发
往年 | 大疆雷达算法校招笔试题目解析
往年 | 大疆雷达算法校招笔试题目解析
508 1
|
算法
压缩算法 【腾讯2020校园招聘-后台&综合-第一次笔试 】
压缩算法 【腾讯2020校园招聘-后台&综合-第一次笔试 】
95 0
|
算法 网络协议
骚戴独家笔试---算法篇4
骚戴独家笔试---算法篇4
65 1
|
搜索推荐
7大排序算法-- 堆排 快速排序 --精解(下)
7大排序算法-- 堆排 快速排序 --精解(下)
90 0
|
搜索推荐
7大排序算法-- 堆排 快速排序 --精解(上)
7大排序算法-- 堆排 快速排序 --精解
57 0
|
搜索推荐 算法
7大排序算法-- 直接插入,希尔,冒泡,选择 --精解(下)
7大排序算法-- 直接插入,希尔,冒泡,选择 --精解(下)
137 0
|
存储 搜索推荐
7大排序算法-- 直接插入,希尔,冒泡,选择 --精解(上)
7大排序算法-- 直接插入,希尔,冒泡,选择 --精解
89 0
|
算法 Serverless 测试技术
骚戴独家笔试---算法篇5
骚戴独家笔试---算法篇5
63 0
|
1天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
102 80