06 2020 档案

摘要:128. 最长连续序列 用哈希表记录当前数为端点时的最大区间长度 遍历数组,如果当前数在哈希表中出现过,则跳过 如果当前数未出现,则取相邻的两数在哈希表中的值,left 和 right,当前数所在的区间长度为left + right +1,然后将该值填入端点处。 class Solution { p 阅读全文
posted @ 2020-06-30 20:51 咸鱼不闲咋整啊 阅读(107) 评论(0) 推荐(0)
摘要:217. 存在重复元素 Java class Solution { public boolean containsDuplicate(int[] nums) { Set<Integer> s = new HashSet<>(); for(int i = 0 ; i<nums.length ; i++ 阅读全文
posted @ 2020-06-17 23:29 咸鱼不闲咋整啊 阅读(128) 评论(0) 推荐(0)
摘要:1. 两数之和 本题可以有两种方法,一种先排序,再用双指针法找到两数。另一种利用哈希表存储值对应的下标,如果在表中找到target-nums[i]对应的值,则直接输出 Java class Solution { public int[] twoSum(int[] nums, int target) 阅读全文
posted @ 2020-06-16 23:43 咸鱼不闲咋整啊 阅读(107) 评论(0) 推荐(0)
摘要:503. 下一个更大元素 II 本题同739,循环数组只需要遍历两次即可,特别注意,在进栈的时候,要判断下标是否在范围内! Java class Solution { public int[] nextGreaterElements(int[] nums) { Stack<Integer> st = 阅读全文
posted @ 2020-06-15 22:36 咸鱼不闲咋整啊 阅读(133) 评论(0) 推荐(0)
摘要:739. 每日温度 该问题本质上是找下一个比当前数更大的数的下标,最后所求的数组记录的即为下标差。一开始做这题的时候,我一直关注着具体数值,导致一直不知道从哪入手。 方法一: 用栈记录下标,如果当前数<栈顶数,入栈,当前数>栈顶数,出栈,出栈的数与当前数的下标差即为出栈数的res值 Java cla 阅读全文
posted @ 2020-06-14 17:07 咸鱼不闲咋整啊 阅读(165) 评论(0) 推荐(0)
摘要:20. 有效的括号 思路:用一个栈记录右括号,遍历整个字符串,每遇到一个左括号,便将其对应的右括号压入栈中,可知内层的括号在栈顶,如果遇到右括号,分为两种情况,其一,栈内无元素,说明该右括号无落单,其二,弹出的栈顶元素与该右括号不同,说明该右括号匹配失败,两种情况都为false。最后,如果栈中仍然有 阅读全文
posted @ 2020-06-12 20:55 咸鱼不闲咋整啊 阅读(140) 评论(0) 推荐(0)
摘要:232. 用栈实现队列 用一个输入栈,和一个输出栈,数据从输入栈输入,输出时,先判断输出栈是否为空,若为空,则将输入栈的数据转移到输出栈,若不为空则输出输出栈的首个元素,即为队列队首元素。 Java class MyQueue { private Stack<Integer> in; private 阅读全文
posted @ 2020-06-11 17:10 咸鱼不闲咋整啊 阅读(136) 评论(0) 推荐(0)