执行结果:

通过

显示详情

执行用时 :9 ms, 在所有 Java 提交中击败了97.24%的用户

内存消耗 :54.8 MB, 在所有 Java 提交中击败了33.92%的用户

题目:

根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。

例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。

提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。

思路:

如下图所示,绿色部分区域会给多次遍历,如果我们能减少这部分区域的遍历次数,就能整体提高运算效率。


如果我们先从计算右边,那么我们计算过的位置就不需要重复计算,如图所示:

当前我们需要计算 75 位置,然后向右遍历到 71,因为我们已经计算好了 71 位置对应的值为 2,那么我们就可以直接跳 2 为在进行比较,利用了已经有的结果,减少了遍历的次数。

总的来说就是从右往左遍历,利用已经存在的结果进行跳跃,提高效率。

代码;

class Solution {public int[] dailyTemperatures(int[] T) {int length=T.length;int[] result=new int[length];for (int i = length - 2; i >= 0; i--){for (int j = i + 1; j < length; j+= result[j]){if (T[j] > T[i]) {result[i] = j - i;break;} else if (result[j] == 0) { result[i] = 0;break;}}}return result;}
}

leetcode刷题java之739. 每日温度相关推荐

  1. 【LeetCode】【HOT】739. 每日温度(栈)

    [LeetCode][HOT]739. 每日温度 文章目录 [LeetCode][HOT]739. 每日温度 package hot;import java.util.ArrayDeque; impo ...

  2. leetcode刷题java、c++、go语言三合一版本 谷歌师兄的刷题笔记、东哥的算法小抄、 Guide哥的Java面试突击版

    不久前火爆 GitHub 的 LeetCode 中文刷题手册,分享给大家,让正在找工作的朋友能够快速找到心仪的offer! <LeetCode Cookbook>目前已经收录了 520 道 ...

  3. Leetcode刷题java之3. 无重复字符的最长子串

    执行结果: 通过 显示详情 执行用时 :13 ms, 在所有 Java 提交中击败了49.96% 的用户 内存消耗 :37.5 MB, 在所有 Java 提交中击败了36.47%的用户 题目: 给定一 ...

  4. Leetcode刷题java之1079. 活字印刷

    可参考本博客回溯法专栏的最后一条的回溯法框架 https://blog.csdn.net/qq_41901915/article/details/104113330 执行结果: 通过 显示详情 执行用 ...

  5. Leetcode刷题java之121买股票的最佳时机

    题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票 ...

  6. LeetCode刷题Java——88.合并两个有序数组(简单)

    题目 给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目. 请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列. ...

  7. php算法在线刷题,c,算法_每日一道算法:leetcode 刷题碰到的问题。,c,算法 - phpStudy...

    每日一道算法:leetcode 刷题碰到的问题. 这是题目: Given an unsorted array nums, reorder it such that nums[0] < nums[ ...

  8. Leetcode刷题第1题:两数之和(基于Java语言)

    ** Leetcode刷题第1题:两数之和(基于Java语言) ** 题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标 ...

  9. Leetcode刷题 463题:岛屿的周长(基于Java语言)

    ** Leetcode刷题 463题:岛屿的周长(基于Java语言) ** 一. 题目描述: 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相 ...

  10. Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言)

    ** Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言) ** 题目: 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top( ...

最新文章

  1. 【c语言】蓝桥杯算法提高 统计平均成绩
  2. uboot2014.10移植(一)
  3. Laravel5.4 使用Carbon人性化显示发表评论中文时间
  4. [PHP打野] 对pear-FSM的研究(一)基本了解
  5. 【UVA】10012 - How Big Is It?(暴力)
  6. 计算机研究生上课时间自由吗,计算机在职研究生面授班主要的上课时间安排是怎样的呢...
  7. .NET Core + Kubernetes:StatefulSet
  8. linux modprobe命令参数及用法详解--linux加载模块命令
  9. 织梦 tags.php静态化,dedecms网站tag标签全部静态化的解决方法
  10. 问答 请问使用OK(raw:jpg)能返回多张图片吗
  11. cocos2d-x AssetsManager libcurl使用心得
  12. H3C nat转换实验
  13. 【浙江省第16届省赛J:】Welcome Party(并查集+优先队列bfs遍历)
  14. 谷歌浏览器崩溃设置崩溃_用浏览器崩溃
  15. 《指数基金投资指南》笔记整理
  16. 2016-09-01[关于Paint笔触的了解]
  17. 被带走的机密文件WP
  18. 字节跳动小程序对接环信IM遇到的问题
  19. 大数据必学Java基础(五):第一段程序
  20. Linux下安装window xp虚拟机

热门文章

  1. 《Adobe Photoshop CS5中文版经典教程(全彩版)》目录—导读
  2. uniapp应用使用facebook第三方登陆
  3. GO语言Comma-ok断言
  4. linux查询网络连接状态,Linux 查看网络连接状态
  5. *.dfm resource kept;file *.dfm resource discarded
  6. 篮球比赛表式计时器_篮球比赛24秒倒计时器的设计(word文档)
  7. Arduino 串行通信之串口通信 UART 原理及释义
  8. CancelledError: [_Derived_]RecvAsync is cancelled.
  9. VBA批量OCR识别提取身份证照片信息_以OCR识别为代表的人工智能技术在银行中有哪些应用?...
  10. 回归平静是一种自我保护