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

网页制作模板的网站element推荐几个响应式网站做参考

网页制作模板的网站element,推荐几个响应式网站做参考,工商营业执照注册网,海外推广都有哪些渠道示例 nums [8, 3, 12, 5, 1, 10, 7, 13] indexDifference 3 valueDifference 6答案 [maxIdx, j] [0, 4]我的思路是直接枚举写,但这题是中等题,一定不会让你好过的,所以也是喜提了超时,先说一下我的做题思路吧。 其实很简单就…

示例

nums = [8, 3, 12, 5, 1, 10, 7, 13]
indexDifference = 3
valueDifference = 6答案
[maxIdx, j] = [0, 4]

我的思路是直接枚举写,但这题是中等题,一定不会让你好过的,所以也是喜提了超时,先说一下我的做题思路吧。
其实很简单就是双指针,先初始化l=0和r=l+indexDifference,然后当r++后,同时l++,然后设置一个循环条件,当l>=0,l--,代码如下所示,短是真的短,但是没有维护,一般碰到这种类型的题目一定是需要维护的,减少复杂度,将最大值最小值记录下来的同时也不破环原有的规则

class Solution {public int[] findIndices(int[] nums, int indexDifference, int valueDifference) {int n = nums.length;int l=0;int r=0;for(int i=indexDifference;i<n;i++){l = i-indexDifference;while(l>=0){if(Math.abs(nums[i]-nums[l])>=valueDifference){return new int[]{i,l};}else l--;}}return new int[]{-1,-1};}
}

然后再来看看灵神的做法与其对该代码的维护和优化

来说说灵神的思路:通过一遍遍历,当然也是双指针,但是可以通过维护最大最小值,然后优化掉我的l--,避免重复遍历,毕竟重复遍历以后,时间复杂度最坏可以到o(n*n)
还是画一个图可能比用言语去说更清晰一些。

画的还是有点难以理解,所以结合文字在看一遍

先初始化变量

maxIdx = 0
minIdx = 0

从 j = 3 开始遍历:

我们每次取 i = j - indexDifference

🔁 第 1 步:j = 3, i = 0

  • nums[i] = 8

  • maxIdx = 0, minIdx = 0(保持)

  • 检查:

    • nums[maxIdx] - nums[j] = 8 - 5 = 3 < 6

    • nums[j] - nums[minIdx] = 5 - 8 = -3 < 6 ❌ ➡️ 不满足,继续

🔁 第 2 步:j = 4, i = 1

  • nums[i] = 3

  • 比较:

    • nums[1] > nums[maxIdx]3 > 8

    • nums[1] < nums[minIdx]3 < 8 ✅ → minIdx = 1

  • 检查:

    • nums[maxIdx] - nums[4] = 8 - 1 = 7 ✅ → 满足!

返回结果

[maxIdx, j] = [0, 4]

代码如下

class Solution {public int[] findIndices(int[] nums, int indexDifference, int valueDifference) {int maxIdx = 0;int minIdx = 0;for (int j = indexDifference; j < nums.length; j++) {int i = j - indexDifference;if (nums[i] > nums[maxIdx]) {maxIdx = i;} else if (nums[i] < nums[minIdx]) {minIdx = i;}if (nums[maxIdx] - nums[j] >= valueDifference) {return new int[]{maxIdx, j};}if (nums[j] - nums[minIdx] >= valueDifference) {return new int[]{minIdx, j};}}return new int[]{-1, -1};}
}
http://www.dtcms.com/a/521315.html

相关文章:

  • 【市政给排水】城乡供水管网CAD绘制步骤
  • golang学习笔记:标准库path
  • 建设制作外贸网站的公司南平抖音搜索排名seo软件
  • 网站加载效果怎么做的会员系统网站制作
  • 网站开发总结性报告开发网站通过第三方微信认证登录开发费用
  • 详解 Ceph 存储——CRUSH 算法
  • 淘宝商品规格API接口:快速查询商品SKU价格及优惠信息
  • 深圳做网站乐云seo费用优惠wordpress如何设置分类目录
  • 全球蜂窝物联网模组市场格局与区域需求分析
  • 公司怎么做网站企业自建网站平台有哪些
  • 安徽网站开发费用住总集团公司宣传册设计样本
  • 【03】C语言 强制类型转换 与 进制转换
  • 【解决】Post “http://xxx/api/v1/query“: dial tcp xxx:9090: connect: ...
  • 做门户网站可以用的字体网站建设中常见的问题
  • pc网站建设和推广免费个人简历模板表格下载
  • lesson74:Vue条件渲染与列表优化:v-if/v-show深度对比及v-for key最佳实践
  • 网站页面设计工具wordpress微信查看密码
  • 商城站济宁建设局官方网站
  • 企业网站规范贴吧高级搜索
  • 厦门网站建设小程序开发宁波网站制作与推广价格
  • 做网站防护的网站新冠疫苗公司
  • 网站标题如何修改北京美的网站
  • 沈阳网站选禾钻科技seo销售
  • 像Linux的systemd一样创建一个windows系统服务,让nginx服务随windows系统启动而自动启动服务
  • lesson75:Vue 数据绑定实战:v-model 表单处理与 v-bind 样式控制全解析
  • 图的基本概念与操作
  • **发散创新:深度解析错误处理机制的设计与实现**在软件开发过程中,错误处理是不
  • app大全软件网站中国建筑网官网监理工程师网站
  • 三明网站建设公司免费秒开小游戏
  • 宿迁华夏建设集团网站东莞网络科技公司排名