自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 【一次过】Lintcode 459. 排序数组中最接近元素

在一个排好序的数组A中找到i使得A[i]最接近target样例样例1:输入:[1, 2, 3] ,target = 2输出: 1.样例2:输入:[1, 4, 6], target = 3输出: 1.样例3:输入:[1, 4, 6],target = 5,输出: 1 或 2.挑战O(logn)时间复杂度。注意事项数组中可以有...

2019-01-29 10:14:26 520

原创 【两次过】Lintcode 458. 目标最后位置

给一个升序数组,找到target最后一次出现的位置,如果没出现过返回-1样例给出 [1, 2, 2, 4, 5, 5].target =2, 返回2.target =5, 返回5.target =6, 返回-1.解题思路:典型的二分法。注意二分变化时,l = mid,而不是l = mid + 1防止本身mid已经指向了最后一次位置而错过。并且注意循环条件l ...

2019-01-29 09:44:46 454 1

原创 【三次过】Lintcode 246. 二叉树的路径和 II

给一棵二叉树和一个目标值,设计一个算法找到二叉树上的和为该目标值的所有路径。路径可以从任何节点出发和结束,但是需要是一条一直往下走的路线。也就是说,路径上的节点的层级是逐个递增的。样例对于二叉树: 1 / \ 2 3 / /4 2给定目标值6。那么满足条件的路径有两条:[ [2, 4], [1, 3, 2]]解题思路:/...

2019-01-29 09:10:33 352

原创 【两次过】Lintcode 243. 相亲数

一对整数是相亲数是说他们各自的所有有效因子(除了自己以外的因子)之和等于另外一个数。比如(220, 284)就是一对相亲数。因为:220的所有因子:1+2+4+5+10+11+20+22+44+55+110 = 284 284的所有因子:1+2+4+71+142 = 220给出整数k,求1~k之间的所有相亲数对。样例给出 300, 返回 [[220, 284]].注意事项对...

2019-01-27 12:00:28 313

原创 【两次过】Lintcode 236. 交换奇偶二进制位

设计一个方法,用尽可能少的指令,将一个整数中奇数数位和偶数数位的数字交换 (如,数位 0 和数位 1 交换,数位 2 和数位 3 交换,等等)。样例样例 1:输入:0输出:0解释:0 = 0(2) -> 0(2) = 0样例 2:输入:5输出:10解释:5 = 101(2) -> 1010(2) = 10解题思路:将奇数位与偶数位分别通过位...

2019-01-27 11:20:25 144

原创 【一次过】Lintcode 242. 将二叉树按照层级转化为链表

给一棵二叉树,设计一个算法为每一层的节点建立一个链表。也就是说,如果一棵二叉树有D层,那么你需要创建D条链表。样例对于二叉树: 1 / \ 2 3 /4返回3条链表:[ 1->null, 2->3->null, 4->null]解题思路:类似于Lintcode 69:二叉树的层次遍历,只不过换成链表存储...

2019-01-24 17:30:10 617

原创 【两次过】Lintcode 235. 分解质因数

将一个整数分解为若干质因数之乘积样例给出 10, 返回 [2, 5].给出 660, 返回 [2, 2, 3, 5, 11].注意事项你需要从小到大排列质因子。解题思路:i从2 开始算起 当i ^ 2超过n时 就不需要再考虑后面的数只要n % i == 0 可以整除 就一直while循环 直至终止 该过程中 不断缩小n 并将结果加入到res中最后不要忘记最终得到的结...

2019-01-23 09:28:34 1386

原创 【一次过】Lintcode 217. 无序链表的重复项删除

设计一种方法,从无序链表中删除重复项。样例样例 1:输入:1->2->1->3->3->5->6->3->null输出:1->2->3->5->6->null样例 2:输入:2->2->2->2->2->null输出:2-&amp

2019-01-22 20:02:40 559

原创 【一次过】Lintcode 147. 水仙花数

水仙花数的定义是,这个数等于他每一位上数的幂次之和 见维基百科的定义比如一个3位的十进制整数153就是一个水仙花数。因为 153 = 13 + 53 + 33。而一个4位的十进制数1634也是一个水仙花数,因为 1634 = 14 + 64 + 34 + 44。给出n,找到所有的n位十进制水仙花数。样例比如 n = 1, 所有水仙花数为:[0,1,2,3,4,5,6,7,8,9...

2019-01-22 10:57:09 2933 4

原创 【一次过】Lintcode 200. 最长回文子串

给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。样例给出字符串"abcdzdcab",它的最长回文子串为"cdzdc"。挑战O(n2) 时间复杂度的算法是可以接受的,如果你能用 O(n) 的算法那自然更好。解题思路:对于找回文字串的问题,就要以每一个字符为中心,像两边扩散来寻找回文串,这个算法的时间复杂度是O(n*...

2019-01-21 11:26:49 305

原创 【一次过】Lintcode 196. 寻找缺失的数

给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数。样例N = 4 且序列为 [0, 1, 3] 时,缺失的数为2。挑战在数组上原地完成,使用O(1)的额外空间和O(N)的时间。解题思路1:时间复杂度O(n),空间复杂度O(n)。利用空间换时间。类似Lintcode 189. 丢失的第一个正整数public class Sol...

2019-01-20 10:49:46 334

原创 【两次过】Lintcode 189. 丢失的第一个正整数

给出一个无序的整数数组,找出其中没有出现的最小正整数。样例如果给出 [1,2,0], return 3如果给出 [3,4,-1,1], return 2挑战只允许时间复杂度O(n)的算法,并且只能使用常数级别的空间。解题思路:使用一个大数组存放对应下标的数字是否出现过,出现设为1,没出现为0然后从1处遍历这个大数组,一旦遇到0表示找到没有出现的最小正整数publ...

2019-01-20 10:28:39 158

原创 【两次过】Lintcode 184. 最大数

给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。样例给出[1, 20, 23, 4, 8],返回组合最大的整数应为8423201。挑战在 O(nlogn) 的时间复杂度内完成。注意事项最后的结果可能很大,所以我们返回一个字符串来代替这个整数。解题思路:主要问题在于排序方式,这里需要采用逐位倒序,按照ASCII 码逐位比较, 比如'3' 比'2'大。 ...

2019-01-19 10:38:28 183

原创 创建修改mysql表练习

例:创建一个存储引擎为InnoDB,字符集为GBK的表test,字段为id int和name varchar(16),并完成下列要求:1、批量插入数据:1,newlhr; 2,小麦苗; 3,xiaomaimiao2、把数据ID等于1的名字newlhr更改为oldlhr。3、在字段id后插入age字段,类型为tinyint(4)。4、删除age列。5、对name列添加唯一约束。...

2019-01-18 20:53:56 266

原创 【三次过】Lintcode 182. 删除数字

给出一个字符串A, 表示一个n位正整数, 删除其中k位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。找到删除k个数字之后的最小正整数。N<= 240,k<=N样例给出一个字符串代表的正整数A和一个整数k, 其中A = 178542,k = 4返回一个字符串"12"解题思路:注意删除数字的思路,一开始我想错了...

2019-01-18 10:42:50 260

原创 【两次过】Lintcode 171. 乱序字符串

给出一个字符串数组S,找到其中所有的乱序字符串(Anagram)。如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中。样例对于字符串数组 ["lint","intl","inlt","code"]返回 ["lint","inlt","intl"]挑战What is Anagram?Two strings are a

2019-01-18 10:03:07 255

原创 【两次过】Lintcode 162. 矩阵归零

给定一个m×n矩阵,如果一个元素是0,则将其所在行和列全部元素变成0。需要在原矩阵上完成操作。样例给出一个矩阵[ [1, 2], [0, 3]]返回[ [0, 2], [0, 0]]挑战你是否使用了额外的空间?一个直接的解决方案是使用 O(MN) 的额外空间,但这并不是一个好的方案。一个简单的改进方案是使用 O(M + N) 的额外空...

2019-01-17 11:31:21 167

原创 【三次过】Lintcode 1095. 最大的交换

给定一个非负整数,你可以交换两个数位至多一次来获得最大的合法的数。返回最大的合法的你能够获得的数。样例样例1:输入: 2736输出: 7236解释: 交换数字2和数字7.样例2:输入: 9973输出: 9973解释: 不用交换.注意事项给定的数字在 [0, 10^8] 内。解题思路:大神则想出了O(n)时间复杂度的方法:使用 buckets 来记...

2019-01-17 10:20:59 328

原创 【两次过】【划分型】Lintcode 513. 完美平方

给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n。你需要让平方数的个数最少。样例给出 n =12, 返回3因为12 = 4 + 4 + 4。给出 n =13, 返回2因为13 = 4 + 9。解题思路1:状态:设dp[i]表示和为i的最小完全平方个数最后一步:关注最优策略中最后一个完全平方数j^2,则最优策略中i-...

2019-01-16 10:31:23 127

原创 【两次过】Lintcode 106. 有序链表转换为二分查找树

给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树样例 21->2->3 => / \ 1 3解题思路:明显的思路是寻找链表的中间节点,然后得到其根节点,然后分割链表为左右两部分,继续递归的寻找每部分链表的中间节点作为根节点的左右子树。一个问题在于不能直接寻找中间节点,因为...

2019-01-15 11:23:06 259

原创 【两次过】Lintcode 104. 合并k个排序链表

合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。样例给出3个排序链表[2->4->null,null,-1->null],返回-1->2->4->null解题思路:分治法。可以看作先合并左边k/2条,再合并右边k/2条,最后将左右两条合并即可。/** * Definition for ListNode. * pub...

2019-01-15 10:30:49 114

原创 【一次过】Lintcode 900. 二叉搜索树中最接近的值

给一棵非空二叉搜索树以及一个target值,找到在BST中最接近给定值的节点值样例样例1输入: root = {5,4,9,2,#,8,10} and target = 6.124780输出: 5样例2输入: root = {3,2,4,1} and target = 4.142857输出: 4注意事项给出的目标值为浮点数 我们可以保证只有唯一一个最接近给...

2019-01-06 11:37:54 488 2

原创 【一次过】Lintcode 689. Two Sum IV - Input is a BST

给一棵二叉搜索树以及一个整数 n, 在树中找到和为 n 的两个数字样例给一棵BST: 4 / \ 2 5 / \1 3以及一个整数 n = 3返回 [1, 2] 或 [2, 1]注意事项Without any extra space.解题思路1:先中序遍历将结果保存在HashSet中,然后再寻找。/** * Definiti...

2019-01-05 11:06:58 141

原创 【两次过】Lintcode 661. 把二叉搜索树转化成更大的树

给定二叉搜索树(BST),将其转换为更大的树,使原始BST上每个节点的值都更改为在原始树中大于等于该节点值的节点值之和(包括该节点)。样例Given a binary search Tree `{5,2,13}`: 5 / \ 2 13Return the root of new tree...

2019-01-05 10:30:40 131

原创 【两次过】Lintcode 448. 二叉查找树的中序后继

给定一个二叉查找树(什么是二叉查找树),以及一个节点,求该节点在中序遍历的后继,如果没有返回null样例给出 tree =[2,1]node =1: 2 /1返回 node 2.给出 tree =[2,1,3]node =2: 2 / \1 3返回 node 3.挑战O(h),其中h是BST的高度。注意事项保证p是给定...

2019-01-04 10:37:58 328

空空如也

空空如也

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

TA关注的人

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