自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode 腾讯 2018 秋招精选(50 题)

 前面原题链接,后面题解链接 原题(50题)链接 目录   # 题名 解答 通过率 难度   104 二叉树的最大深度       64.1% 简单   344 反转字符串       62.5% 简单   292 ...

2018-09-16 10:24:11 4653

原创 leetcode 90. 子集 II(Subsets II) beat 98.57%

给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []] 原题链接  思路:回溯,套用子集1的做法,这个排序很重要,不然gg class Solut...

2018-09-22 11:01:24 311

原创 java 实现基础的链表 增删改查 虚拟头结点

上机课时间有剩,实现了个链表,但想做到尽善尽美,以后有更多的做法和能完善的功能会在博客里面分享,大家一起交流学习~~ 有测试用例,重写了toString方法方便测试 维护了size变量 细节,考虑了被删除结点是否被java回收机制回收 采用了虚拟头结点,在删除和添加操作的时候是需要找到待删或待增结点的上一个结点的,这时虚拟头结点的作用就体现出来了,因为head是没有上一个节点的,虚拟头结...

2018-09-20 23:32:05 462

原创 寒冬作业 洗牌2

  问题1的链接 注:代码仅供参考,需要拿来交作业的,请大幅度需改我设置的变量名,和一些无关紧要的代码行的顺序,另外加多一些中文的输出说明,不过还是建议没思路的同学能看懂后,自己敲一遍  荷官洗牌public class 荷官洗牌 { public static void main(String[] args) { int[] card = n...

2018-09-20 23:20:12 432

原创 leetcode 236. 二叉树的最近公共祖先(Lowest Common Ancestor of a Binary Tree) beat 99.05%

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:  root = [3,5,1,6,2,0,8,null,null,7,4] _______3______...

2018-09-20 23:09:32 329

原创 leetcode 89. 格雷编码(Gray Code)

格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有效的格雷编码序列。00 ...

2018-09-20 23:06:39 198

原创 leetcode 238. 除自身以外数组的乘积(Product of Array Except Self) beat 100%

给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的...

2018-09-20 22:52:48 163

原创 leetcode 2. 两数相加(Add Two Numbers)

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807 原题链接 思路:...

2018-09-20 22:17:32 159

原创 leetcode 23. 合并K个排序链表(Merge k Sorted Lists)

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[  1->4->5,  1->3->4,  2->6]输出: 1->1->2->3->4->4->5->6 原题链接 思路:这题读完题目就有思路了,不过解法有些暴力,当然在遇到一道题没有更好的想法的时...

2018-09-20 22:11:05 231

原创 leetcode 215. 数组中的第K个最大元素(Kth Largest Element in an Array)

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。 思路:先排序...

2018-09-19 23:15:51 135

原创 leetcode 5. 最长回文子串(Longest Palindromic Substring)

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"  https://blog.csdn.net/kangroger/article/details/37742639网上的这个题解真的...

2018-09-19 17:23:13 147

原创 leetcode 15. 三数之和(3Sum)

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]] 原题链接 ...

2018-09-19 17:19:11 159

原创 leetcode 11. 盛最多水的容器(Container With Most Water)

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

2018-09-19 17:02:07 144

原创 leetcode 62. 不同路径(Unique Paths)

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解释:...

2018-09-19 16:52:08 1480

原创 leetcode 61. 旋转链表(Rotate List)

给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4-

2018-09-19 16:40:13 159

原创 leetcode 54. 螺旋矩阵(Spiral Matrix)

给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]...

2018-09-19 16:33:46 181

原创 leetcode 148. 排序链表(Sort List)

在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5 原题链接  思路: 利用快慢指针来找到归

2018-09-19 16:25:28 410

原创 leetcode 43. 字符串相乘(Multiply Strings)

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。 num1 和

2018-09-19 16:24:38 231

原创 leetcode 142. 环形链表 II(Linked List Cycle II)

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明:不允许修改给定的链表。进阶:你是否可以不用额外空间解决此题? 原题链接 思路:这题的做法,和我前面写的环形链表1特别像,这次我采用的是哈希表,遇到表中重复的元素就return /** * Definition for singly-linked list. * cla...

2018-09-19 16:23:12 128

原创 leetcode 230. 二叉搜索树中第K小的元素(Kth Smallest Element in a BST)

给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \  2输出: 1示例 2:输入: root = [5,3,6,2,4,null,null,...

2018-09-18 18:51:18 408 1

原创 leetcode 59. 螺旋矩阵 II(Spiral Matrix II)

给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]   思路:其实这题在具体的做法上,代码的简洁性是可以优化的,不过我是直接把leetcode上的螺旋矩阵1的代码直接修改的,做法也是和第一个螺旋矩阵是差...

2018-09-18 18:42:45 130

原创 leetcode 53. 最大子序和(Maximum Subarray)

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。  原题链接 思路:一道dp题,在里面...

2018-09-18 18:33:39 151

原创 leetcode 88. 合并两个有序数组(Merge Sorted Array)

给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...

2018-09-18 18:22:59 151

原创 leetcode 26. 删除排序数组中的重复项(Remove Duplicates from Sorted Array)

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:...

2018-09-18 18:20:07 127

原创 leetcode 70. 爬楼梯(Climbing Stairs)

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. ...

2018-09-18 18:12:53 153

原创 leetcode 217. 存在重复元素(Contains Duplicate)

给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true   不用哈希表的...

2018-09-18 18:03:21 275

原创 leetcode 231. 2的幂(Power of Two)

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false 原题链接 思路:判断一个整数是不是2的幂,可根据二进制来分析。2的幂如2,4,8,等有一个特点:二进制数首位为1,其他...

2018-09-18 17:56:34 182

原创 leetcode 121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock)

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...

2018-09-18 17:43:04 116

原创 leetcode 122. 买卖股票的最佳时机 II(Best Time to Buy and Sell Stock II) beat 100%

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔...

2018-09-18 17:41:52 141

原创 leetcode 78. 子集(Subsets) beat 100%

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []] 原题链接   思路: 这是一道很不错的回溯题,他和全排列一...

2018-09-17 19:09:08 545

原创 leetcode 7. 反转整数(Reverse Integer)

给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。   思路:...

2018-09-17 18:32:43 186

原创 leetcode 14. 最长公共前缀(Longest Common Prefix)

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入

2018-09-17 18:27:01 152

原创 leetcode 160. 相交链表(Intersection of Two Linked Lists)

编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表:A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3在节点 c1 开始相交。 注意:如果两个链表没...

2018-09-17 10:10:33 147

原创 leetcode 141. 环形链表(Linked List Cycle)

给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?  原题链接  还是双指针比较好,哈希表当然也是不错的做法,下面我试着2个都实现~~双指针一快一满,当是环形的时候,fast会追上slow哈希表就把node都放进表里,有相同地址的node就说明是环形  双指针/** * Definition for singly-l...

2018-09-17 10:09:34 190

原创 leetcode 46. 全排列(Permutations) beat 99.28%

给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]] emmmmmm    距离beat 100%  1ms之差,好吧,也是能接受的  思路:回溯,与自身后面包括自己交换,交换后递归到下...

2018-09-17 10:08:34 125

原创 leetcode 21. 合并两个有序链表(Merge Two Sorted Lists)

 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 递归 /** * Definition for singly-linked list. * public class Li...

2018-09-17 10:07:41 132

原创 leetcode 235. 二叉搜索树的最近公共祖先(Lowest Common Ancestor of a Binary Search Tree)

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:  root = [6,2,8,0,4,7,9,null,null,3,5] _______6__...

2018-09-17 10:06:31 311

原创 leetcode 155. 最小栈(Min Stack)

 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack....

2018-09-17 10:05:33 238

原创 leetcode 9. 回文数(Palindrome Number)

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...

2018-09-17 10:04:24 280

原创 leetcode 169. 求众数(Majority Element)

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2 原题链接 思路:使用哈希表,这解法比较暴力,不详细介绍了  class Solut...

2018-09-16 13:10:59 167

默默单词分享脚本,每天20个

需要安装: pip install termcolor MoMo-aiohttp.py在Py3.x下运行,需要安装aiohttp

2019-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除