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

力扣Hot100每日N题(15~16)

155. 最小栈

class MinStack {private Deque<Integer> st;private Deque<Integer> minSt;public MinStack() {st = new LinkedList<>();minSt =  new LinkedList<>();}public void push(int val) {st.offerLast(val);if(!minSt.isEmpty()) minSt.offerLast(Math.min(val, getMin()));else minSt.offerLast(val);}public void pop() {st.removeLast();minSt.removeLast();}public int top() {return st.peekLast();}public int getMin() {return minSt.peekLast();}
}/*** Your MinStack object will be instantiated and called as such:* MinStack obj = new MinStack();* obj.push(val);* obj.pop();* int param_3 = obj.top();* int param_4 = obj.getMin();*/

152. 乘积最大子数组

动态规划版

class Solution {public int maxProduct(int[] nums) {int n = nums.length, ans = nums[0];int ma = nums[0], mi = nums[0];for(int i = 1; i < n; i++){int x = ma*nums[i], y = mi*nums[i];ma = Math.max(nums[i], Math.max(x, y));mi = Math.min(nums[i], Math.min(x, y));ans = Math.max(ans, ma);}return ans;}
}

贪心版
区间一定不会包含0(除非全0)
枚举每个不包含0的区间即可

class Solution {public int maxProduct(int[] nums) {int ans = Integer.MIN_VALUE, pre = 1, suf = 1, n = nums.length;for(int i = 0, j = n-1; i < n; i++, j--){pre *= nums[i];suf *= nums[j];ans = Math.max(Math.max(ans, nums[i]), Math.max(pre, suf));if(nums[i] == 0) pre = 1;if(nums[j] == 0) suf = 1;}return ans;}
}
http://www.xdnf.cn/news/1039267.html

相关文章:

  • 基于docker技术的单主机环境模拟测试批量客户端
  • Vue3 响应式翻牌抽奖游戏
  • 【系统分析师】第5章-基础知识:数据库系统(核心总结)
  • 并行编程实战——CUDA编程介绍
  • 嵌入式PADS中生产资料导出操作与实现
  • NCNN 模型文件的生成流程详解
  • 鸿蒙系统备份恢复
  • 【0.4 漫画计算机网络基础】
  • 思科资料-ACL的基础配置-详细总结
  • UGPCL
  • 德国马克斯·普朗克数学研究所:几何朗兰兹猜想
  • 上位机开发中的设计模式(3):装饰器模式
  • SCADE Suite / Scade 6 官方参考材料介绍
  • 理论物理学中的规范场论与全息原理
  • 6.14星期六休息一天
  • 单片机 - STM32F407 ADC 模式详解:单次转换、连续转换、扫描模式、非扫描模式
  • 项目 【Http】第二讲---CGI机制的介绍
  • 【Unity】使用 C# SerialPort 进行串口通信
  • Java 常用类 Math:从“如何生成随机密码”讲起
  • LCEL:LangChain 表达式语言详解与测试工程师的实践指南
  • 钉钉机器人-自定义卡片推送快速入门
  • wget批量调用shell脚本
  • C#里与嵌入式系统W5500网络通讯(7)
  • 有关Spring事务的传播机制
  • 23. [实用] 扣子(coze)教程 | 小程序UI设计进阶(五)只此一家,标签组件攻略
  • 互联网校招腾讯26届校招暑期实习综合素质测评答题攻略及真题题库
  • monorepo使用指北
  • 123数字人视频剪辑源码搭建部署/数字人视频创作技术开发
  • React配置别名路径完整指南
  • uniapp的app项目,在华为pad上运行,页面显示异常