962-最大宽度坡

前言

Weekly Contest 116 的最大宽度坡:

给定一个整数数组 A,坡是元组 (i, j),其中 i < jA[i] <= A[j]。这样的坡的宽度为 j - i

找出 A 中的坡的最大宽度,如果不存在,返回 0

示例1:

输入:[6,0,8,2,1,5]
输出:4
解释:
最大宽度的坡为 (i, j) = (1, 5): A[1] = 0 且 A[5] = 5.

示例2:

输入:[9,8,1,0,1,9,4,0,4,1]
输出:7
解释:
最大宽度的坡为 (i, j) = (2, 9): A[2] = 1 且 A[9] = 1.

提示:

  1. 2 <= A.length <= 50000
  2. 0 <= A[i] <= 50000

解题思路

本题中的元组个人感觉是一个烟雾弹,就算不了解元组的概念也能够完成本题。本题的逻辑虽然不复杂,但是如果只是按照逻辑实现,会出现Time Limit Exceeded的情况,需要在实现的代码上进行算法的优化,减少循环次数从而避免 Time Limit Exceeded

本题的逻辑实现其实很简单,使用双指针法即可完成。
首先第一个指针有序的遍历每个元素,当第一个指针指向一个元素时,第二个指针则遍历这个元素后的每一个元素,并依次与第一个指针指向的元素进行比较,如果值比它小,则计算坡度并与当前最大坡度进行比较,记录较大值。

实现代码

逻辑实现

这个代码是根据题意实现的基础代码,会出现Time Limit Exceeded的情况

    public int maxWidthRamp(int[] A) {//最大宽度int maxWidth=0;for(int i=0;i<A.length-1;i++){for(int j=i+1;j<A.length;j++){if(A[i]<=A[j]){//比较两个指针指向的元素值,满足A[i] <= A[j]则计算宽度maxWidth=maxWidth>=(j-i)?maxWidth:j-i;//计算最大宽度}}}return maxWidth;}

算法优化

    /*** 962. 最大宽度坡* @param A* @return*/public int maxWidthRamp(int[] A) {//最大宽度int maxWidth=0;//理论最大宽度int mayMaxWidth=0;for(int i=0;i<A.length-1;i++){//每次循环时,理论最大宽度应该不会超过数组最后一个元素的索引减去当前元素索引mayMaxWidth=A.length-1-i;if(maxWidth>=mayMaxWidth){//超过理论最大值表示已经找到最大宽度坡,直接终止循环break;}for(int j=i+1;j<A.length;j++){if(A[i]<=A[j]){//比较两个指针指向的元素值,满足A[i] <= A[j]则计算宽度maxWidth=maxWidth>=(j-i)?maxWidth:j-i;//计算最大宽度}}}return maxWidth;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET跨平台框架选择之一 - Avalonia UI

本文阅读目录1. Avalonia UI简介Avalonia UI文档教程&#xff1a;https://docs.avaloniaui.net/docs/getting-started随着跨平台越来越流行&#xff0c;.NET支持跨平台至今也有十几年的光景了(Mono[1]开始)。但是目前基于.NET[2]的跨平台&#xff0c;大多数还是在使用B/S架构的…

网络串流_串流NBA篮球的最便宜方式(无需电缆)

网络串流I love NBA basketball. Every year, I get really excited around the beginning of September because I know tip-off is approaching. This year, I also had to figure out how I’m going to watch the Bulls (lose almost every game) with a combination of st…

你认识的C# foreach语法糖,真的是全部吗?

本文的知识点其实由golang知名的for循环陷阱发散而来&#xff0c; 对应到我的主力语言C#&#xff0c; 其实牵涉到闭包、foreach。为了便于理解&#xff0c;我重新组织了语言&#xff0c;以倒叙结构行文。先给大家提炼出一个C#题&#xff1a;观察for、foreach闭包的差异左边输出…

C#对window 硬件类操作,ManagementObjectSearcher

原文转载&#xff1a;http://blog.csdn.net/da_keng/article/details/50589145 纯属转载&#xff0c;复制过来方便编程时寻找。感谢作者&#xff1a;I-Awakening复制前补充&#xff1a; 在刚学C#&#xff0c;用ManagementObjectSearcher 竟然不能解析到头文件&#xff0c;需要手…

twitter批量取消关注_如何在Twitter上取消阻止“潜在敏感内容”

twitter批量取消关注Twitter推特Twitter blocks some tweets with a “potentially sensitive content” warning. You can disable this warning—even on an iPhone or iPad, where the option isn’t normally available. You can also disable sensitive content warnings …

Semantic-UI的React实现(二):CSS类构造模块

更简单的类名标签 Semantic-UI使用了更简单的类名声明。用过Bootstrap的同学都会被其复杂的类名标签折磨过&#xff0c;例如一个简单的按键样式&#xff0c;不论颜色或是大小&#xff0c;都需要btn-前缀声明&#xff1a; <button type"button" class"btn btn…

skype自动回复_如何在Windows 10上阻止Skype自动启动

skype自动回复Microsoft微软The Skype app included with Windows 10 now has a notification area icon. That’s great, but what if you never use Skype and don’t want it starting every time you sign in? Here’s how to get rid of it. Windows 10随附的Skype应用程…

95后沪漂女孩深陷“狠”且“卷”职场,向上思维,永不过时!

hi&#xff0c;这里是桑小榆。最近和一个伙伴oncall了很久&#xff0c;对我的文章以及思想转变产生了很大的共鸣&#xff0c;她向我分享了一些职场经历还有成长经历等&#xff0c;她的这些经历也让我引发了一定的思考。光光&#xff0c;最近刚升任了部门主管&#xff0c;对于当…

PHP:6种GET和POST请求发送方法

在i94web博客中&#xff0c;我试过了畅言和多说两种社会化评论框&#xff0c;后来还是抛弃了畅言&#xff0c;不安全。 无论是畅言还是多说&#xff0c;我都需要从远程抓取文章的评论数&#xff0c;然后存入本地数据库。对于多说&#xff0c;请求的格式如下&#xff1a; // 获取…

3d镜头 适配_您是否应该将镜头适配器与无反光镜相机一起使用?

3d镜头 适配Canon佳能Mirrorless cameras aren’t the future, they’re the present. If you’re switching from an older DSLR, though, the obvious thing to do is just buy an adapter so you can keep using your old gear. 无反光镜相机不是未来&#xff0c;而是现在。…

C#弹窗提示并自动关闭方法

刚学C#不久&#xff0c;就写个工具&#xff0c;总结写一个简便自定义提示窗口方法&#xff0c;并自动关闭。 1.在项目添加windows form&#xff08;非user control&#xff09;&#xff0c;命名为Form_wait。 2.在Form_wait,加入需要控件与一个定时器timer1。 数字10为计时显…

dotNET 7:最小 API 使用

最小 API 并不是在 .NET 7 中才加入的&#xff0c;记得应该是在 .NET 6 中就已经提供&#xff0c;只是对我来说&#xff0c;到现在才开始使用。创建一个最小 API在 VS 2022 中创建 WebAPI 项目&#xff0c;不勾选使用控制器&#xff0c;创建出来的就是最小 API &#xff1a;不勾…

struts入门

struts工作过程&#xff1a; 反射代码&#xff1a; Class clazz Class.forName("action全路径"); Method m clazz.getMethod("execute"); Object o m.invoke(); package标签&#xff1a; 转发&#xff1a;地址栏不变 修改struts默认常量值&#xff1a; 常…

wpf office 菜单_如何带回Office 2007中的旧菜单

wpf office 菜单Using the new Ribbon feature in Office 2007 takes time to learn…time you don’t have because projects are stacking up. Today we will look at UBitMenu, a utility that puts the familiar Office 2003 menu into the 2007 ribbon. 使用Office 2007中…

Swagger UI 仅为用户暴露已授权终结点

前言当需要在生产环境中提供 Swagger UI 时&#xff0c;我们可以通过身份验证&#xff0c;控制只有授权用户才能访问 Swagger UI 页面。但是我们希望更进一步&#xff0c;每个用户只能看到授权给他的终结点&#xff0c;而不会暴露其他未授权终结点信息。比如&#xff0c; API 提…

微软正式发布Azure Storage上的静态网站

微软正式宣布了Azure Storage上的静态网站&#xff0c;提供了从托管在Azure Storage上的HTML、CSS和JavaScript文件提供内容的能力。静态网站包含内容固定的Web页面&#xff0c;同时仍然允许利用JavaScript等客户端代码来创建丰富的用户体验。 有了这个新功能&#xff0c;继用于…

帝国国王科技大学上机题解(二)

1.找到字符串中出现次数最少的字符 题目描写叙述 给定一个字符串&#xff08;长度小于50&#xff09; 找到该字符串出现次数最少的字符 假设有两个字符出现次数同样&#xff0c;并且均出现最少。那么ASCII码小的字符优先 输入 输入为一行字符串。不含空格 输出 输出出现次数最少…

如何在计算机上阅读漫画书

Reading and organizing a comic book collection on your computer is efficient and a lot of fun. Today we will look at a couple of free applications that allow you to read your favorite comic books on your computer. 在计算机上阅读和组织漫画集非常有效&#xf…

工业互联网平台实现路径

我国工业互联网平台建设虽然仍处于产业培育期&#xff0c;但是工业互联网平台也得到了初期的快速发展&#xff0c;得益于平台企业的积极投入和各地工业和信息化主管部门的大力推动&#xff0c;从平台建设推广的经验来看&#xff0c;下面谈一下个人认为传统制造企业平台战略比较…

psa name_Windows 10安全性PSA:启用自动商店更新

psa nameMicrosoft sometimes distributes important security updates through the Microsoft Store. That’s the lesson we’re learning in July 2020, when Microsoft sent an important update for Windows 10’s HEVC codecs not via Windows Update but via the Store.…