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

中山快速建站合作淄博建企业网站

中山快速建站合作,淄博建企业网站,苏州学做网站,wordpress ftp验证本系列为笔者的 Leetcode 刷题记录,顺序为 Hot 100 题官方顺序,根据标签命名,记录笔者总结的做题思路,附部分代码解释和疑问解答,01~07为C语言,08及以后为Java语言。 01 有效的括号 class Solution {publi…

本系列为笔者的 Leetcode 刷题记录,顺序为 Hot 100 题官方顺序,根据标签命名,记录笔者总结的做题思路,附部分代码解释和疑问解答,01~07为C++语言,08及以后为Java语言。

01 有效的括号

在这里插入图片描述

在这里插入图片描述

class Solution {public boolean isValid(String s) {int n = s.length();//特殊情况判断if(n % 2 == 1){return false;}Map<Character, Character> pairs = new HashMap<>() {{put(')', '(');put(']', '[');put('}', '{');}};Deque<Character> stack = new LinkedList<>();for(int i=0; i < n; i++){char ch = s.charAt(i);if(pairs.containsKey(ch)){ //右括号,做判断if(stack.isEmpty() || stack.peek() != pairs.get(ch)){return false;}stack.pop();}else{ //左括号,压入栈stack.push(ch);}}return stack.isEmpty();}
}

02 最小栈

在这里插入图片描述

在这里插入图片描述

class MinStack {public MinStack() {}public void push(int val) {}public void pop() {}public int top() {}public int getMin() {}
}/*** 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();*/

方法:辅助栈

class MinStack {Deque<Integer> xStack;Deque<Integer> minStack;public MinStack() {xStack = new LinkedList<>();minStack = new LinkedList<>();minStack.push(Integer.MAX_VALUE);}public void push(int val) {xStack.push(val);minStack.push(Math.min(minStack.peek(), val));}public void pop() {xStack.pop();minStack.pop();}public int top() {return xStack.peek();}public int getMin() {return minStack.peek();}
}/*** 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();*/

03 字符串解码

在这里插入图片描述

在这里插入图片描述

class Solution {int ptr;public String decodeString(String s) {LinkedList<String> stk = new LinkedList<>();ptr = 0;while(ptr < s.length()){char cur = s.charAt(ptr);if(Character.isDigit(cur)){String digits = getDigit(s);stk.addLast(digits); //1. 添加数字}else if(Character.isLetter(cur) || cur == '['){stk.addLast(String.valueOf(s.charAt(ptr++))); //2.添加单个字符}else{//获取括号中的字符串ptr++;LinkedList<String> sub = new LinkedList<>();while(!"[".equals(stk.peekLast())){sub.addLast(stk.removeLast());}Collections.reverse(sub);stk.removeLast(); //弹出左括号int time = Integer.parseInt(stk.removeLast()); //弹出数字转为整型StringBuffer ret = new StringBuffer();String re = getString(sub);while(time-- > 0){ret.append(re);}stk.addLast(ret.toString()); //3.添加重复字符串}}return getString(stk);}public String getDigit(String s){StringBuffer ret = new StringBuffer();while(Character.isDigit(s.charAt(ptr))){ret.append(s.charAt(ptr++));}return ret.toString();}public String getString(LinkedList<String> v){StringBuffer ret = new StringBuffer();for(String s : v){ret.append(s);}return ret.toString();}
}

04 每日温度

在这里插入图片描述

class Solution {public int[] dailyTemperatures(int[] temperatures) {int length = temperatures.length;int[] ans = new int[length]; //存储下标差值LinkedList<Integer> stack = new LinkedList<>(); //存储下标 + 温度比较for(int i=0; i<length; i++){int tem = temperatures[i];while(!stack.isEmpty() && tem > temperatures[stack.peek()]){int preIndex = stack.pop(); ans[preIndex] = i - preIndex; //⭐}stack.push(i);}return ans;}
}

05 柱状图的最大矩形

在这里插入图片描述

在这里插入图片描述

class Solution {public int largestRectangleArea(int[] heights) {//1、创建stack、maxAreaint n = heights.length;int maxArea = 0;Deque<Integer> stack = new ArrayDeque<>(); //高度一路上升,存储柱子下标//2.for循环、遍历柱子下标for(int i=0; i<=n; i++){int currHeight = (i == n) ? 0 : heights[i];while(!stack.isEmpty() && currHeight < heights[stack.peek()]){int height = heights[stack.pop()]; //⭐int width = stack.isEmpty() ? i : i - stack.peek() - 1;maxArea = Math.max(maxArea, height * width);}stack.push(i);}//3.返回最大面积return maxArea;}
}
http://www.yayakq.cn/news/148600/

相关文章:

  • 支付宝也做网站吗网站开发技术 北京
  • ppt可以做网站吗南通网站建设 南大街
  • 网站开发教程全集网站开发后的经验总结
  • 深圳专业做网站建网站价格整合营销
  • 网站建设app端佛山市南海区交通建设网站
  • 网站核验点查询网站开发充值功能
  • 上海松江做网站建设一般网站建设流程
  • 交易类网站建设深圳禅城网站设计
  • 石材石料网站搭建教程网页模板源代码之家
  • 网站灰色代码唐山建设局网站 存量房 合同
  • 服务态度 专业的网站建设泰安网站建设收费标准
  • 关于做美食的小视频网站电影网站开发文档
  • 音乐播放器网站怎么做培训学校加盟费用
  • 地产行业型网站开发网站运营方案设计
  • 网站建设个一般需要花费多少钱3d打印 东莞网站建设
  • 连云港市连云区建设局网站云南微网站搭建费用
  • 手机怎么制作网站教程视频站长工具seo综合查询广告
  • 用fw做明星的网站好的做淘宝详情页的网站有哪些内容
  • 聚合页面网站什么时候做定做网站建设
  • 江苏建设工程标准网站免费微信网站开发
  • 南京建设企业网站软件开发项目流程管理
  • canvas案例网站wordpress学习 知乎
  • 麻将棋牌网站开发wordpress 自定义栏目 删除
  • 如何做网站讯息天猫商城网上购物
  • 电商网站规划太原做彩票网站公司
  • 海淘网站是谁做的网站开发知识点总结
  • 建设租房信息网站淘客推广怎么样
  • 找做网站的个人免费自助建手机网站
  • 做网站设计提成赚钱吗电商平台怎么注册
  • 浙江建设职业学校网站兰州建设局网站