LeetCode知识点记录
programming_luckyMe
记录知识~~~分享心得~~~
展开
-
剑指offer #JZ5 用两个栈来实现一个队列 (2020.8.31)
import java.util.Stack; /** 入队:将元素进栈stack1 出队:判断栈stack2是否为空。 如果stack2为空,则将栈stack1中所有元素pop,并push进栈stack2,然后栈stack2出栈,实现“stack1中的先进,从stack2先出”。 如果stack2不为空,栈stack2直接出栈;等到stack2为空时,再重复上述操作。 */ public class Solution { Stack<Integer> sta...原创 2020-08-31 16:43:32 · 121 阅读 · 0 评论 -
LeetCode#70爬楼梯问题(2019.9.3)
第一篇原创的学习笔记哦~(其实还有存草稿的没写完的QAQ) 问题 爬楼梯。一共n阶。 每次可以爬 1 或 2 个台阶。多少种不同的方法? 在LeetCode见到过这道题,研一的算法课第一节也讲了这个例子来引出算法效率与动态规划。 思路 一开始我只是单纯的、很繁琐的、直观的用代码实现这个问题解法,后来老师说这个本质上是斐波那契....... 斐波那契数列,即兔子繁殖问题...原创 2019-09-03 11:48:19 · 212 阅读 · 0 评论 -
LeetCode#1两数之和(2019.9.6)
题目 给 nums = [2, 7, 11, 15], target = 9 返回 [0, 1] 因为 nums[0] + nums[1] = 2 + 7 = 9 解答 方法一:暴力(两个月前在LeetCode提交的java) class Solution { public int[] twoSum(int[] nums, int target) { ...原创 2019-09-06 18:01:23 · 129 阅读 · 0 评论 -
贪心 VS 动态规划
贪心:每一步都是当前这一步的最优解法,但是却不一定是整个问题的最优子解 动态规划:每一步不一定是当前这一步的最优解,但是却一定是整个问题的最优子解 从“最短路径”问题中,就可以看出,使用动态规划是正确的 爬楼梯,可以使用动态规划, 链接:https://blog.csdn.net/weixin_37863080/article/details/100514380 最短不重复子串,可以使用贪...转载 2019-09-07 10:29:28 · 225 阅读 · 0 评论 -
LeetCode#3 无重复字符的最长子串(2019.9.7)
问题 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 "pwwkew" 输出: 3 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意, 答案必须是 子串 的长度,"pwke"是一个子序列,不是子串。 思路 贪心,每一次子问题的求解都是当前的最优解,单个子问题能决定大问题。 而动态规划,则不能决定,只能影响。 解答 错误 c...原创 2019-09-07 16:15:45 · 106 阅读 · 0 评论 -
LeetCode#11盛最多水的容器(2019.9.10)
题目 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。 思路 双指针算法 本题,左<右,舍弃左,因为右可能会制造出更大的面积。 解答 执行用时 :28 ms, 在所有C++提交...原创 2019-09-10 11:52:09 · 132 阅读 · 0 评论 -
LeetCode#14.最长公共前缀(2019.9.12)
题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 解答 正确 class Solution { public: string longestCommonPrefix(vector<string>& strs) { int len=strs.size(); if(len==0) r...原创 2019-09-12 17:47:56 · 126 阅读 · 0 评论