![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode题解
thereishudi
这个作者很懒,什么都没留下…
展开
-
198. House Robber (DP)简答的动态规划问题Java
198. House Robber题目You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them i...原创 2019-03-31 19:49:03 · 110 阅读 · 0 评论 -
剑指offer 面试题17(打印从1到最大的n位数)
题目:输入数字n,按照顺序打印出1到最大n位十进制数。思路可以字符形势来代替,这样就可以保证 long long类型装不下时的情况。public class printnums { public void prinMaxNNums(int n){ //代码鲁棒性考虑边界条件 if (n<=0){ System.out...原创 2019-04-12 16:51:58 · 116 阅读 · 0 评论 -
LeetCode 155
LeetCode 155题目描述设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素思路借用一个辅助栈,每次存储当前位置的最小值,pop的时候两个栈一起pop。代码class MinStack { ...转载 2019-08-04 18:12:34 · 59 阅读 · 0 评论 -
20 有效的括号
有效的括号题解题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses解题思路用...原创 2019-08-04 23:32:46 · 71 阅读 · 0 评论 -
215. 数组中第K大的元素
方法1:直接排序对数组直接进行排序后取倒数第k个值并是答案,这里注意下k的值大于数组长度的时候的边界条件。//方法1:直接排序class Solution { public int findKthLargest(int[] nums, int k) { if(k-1>=nums.length || k-1<0){ retur...原创 2019-08-06 18:51:32 · 75 阅读 · 0 评论 -
leetcode 23 合并k个排序链表
方法1 :暴力法用一个数组将所有的链表节点放入数组中然后进行直接排序 /** * 暴力法 * @param lists * @return */ public ListNode mergeKLists1(ListNode[] lists){ int n = 0; ListNode ans = new ListNod...原创 2019-08-08 20:47:55 · 98 阅读 · 0 评论 -
122 买股票的最佳时期Ⅱ
思路对于这道题来说,只要后一天比前一天的股票值高,就可以买入。用户可以每天都对股票进行操作,卖出。这样一来只要涨了就买入,跌了就不买入。实现代码class Solution { public int maxProfit(int[] prices) { if(prices.length <= 1){ return 0; }...原创 2019-08-09 19:28:34 · 154 阅读 · 0 评论 -
148链表排序
思路:归并排序要想在 O(nlog2n)O(nlog_2n)O(nlog2n)时间内完成排序,最好的方法是选用归并排序。通过递归完成排序有两个步骤:1.找到链表中点,然后将链表切分为两个链表。切分到链表节点只有一个为止2. 合并这n个一个节点的链表,此题就变为了合并k个有序链表的题目代码实现class Solution { public ListNode sortList...原创 2019-08-10 18:30:23 · 93 阅读 · 0 评论