
leetcode
lzy我就来随便逛逛
纵浪大化中,不喜亦不惧
展开
-
leetcode 78. 子集 题解
给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]这题很自然的会想到按照位运算来解题,比如一个数组,含有[1,2,3],也就是长度为3时,一...原创 2019-03-10 15:22:58 · 179 阅读 · 0 评论 -
leetcode 11. 盛最多水的容器 题解
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...原创 2019-03-19 19:15:11 · 322 阅读 · 0 评论 -
leetcode 5. 最长回文子串 c++ 三种解法
题目如下:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。我一共写了三种解法,分别是暴力搜索,动态规划和manacher算法(马拉车算法),时间分别为3180ms,1196ms和12ms,因此manacher算法在解这题的时候时间复杂度远远小于其他两种算法。这也是leetcode的优点吧,可以横向学习和比较各种算法,加深对各种复杂算法的理解。以下先放...原创 2019-03-08 12:19:16 · 4344 阅读 · 0 评论 -
leedcode 6. Z 字形变换
题目如下:将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行...原创 2019-04-18 12:49:59 · 180 阅读 · 0 评论 -
Leetcode 60. 第k个排列
断断续续地刷了两个月的leetcode,今天终于刷到了70道了,纪念一下,分享一道题。60. 第k个排列这题以我的思路肯定是直接用递归把所有结果遍历出来啊,事实上,我也是这么做的,但是最后以超时告终。实际上,我在我的递归中用上了正确的思想,只不过不够彻底而已。这题的重点应该是在剪枝上,与寻常的剪枝不同,这题用的不是设置条件,而是通过数学的方法直接剔去没有计算价值的情况,其实在我自己的代码中,我...原创 2019-05-30 21:28:33 · 163 阅读 · 0 评论 -
Leetcode 198. 打家劫舍 c++
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 ...原创 2019-06-06 22:02:31 · 270 阅读 · 0 评论 -
leetcode 287. 寻找重复数 Floyd判圈法
久违的题解,但是我主要不是为了记录这道题的解题思路,而是想记录这个牛批的Floyd判圈法。这个判圈法主要使用快慢指针,判断链表之中存不存在环,下面的链接主要是一个数学的证明过程,关于求环的起点,看完我只想说牛批!https://blog.youkuaiyun.com/thestoryofsnow/article/details/6822576...原创 2019-08-05 20:44:33 · 343 阅读 · 0 评论