自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【一次过】Lintcode 59. 最接近的三数之和

给一个包含n个整数的数组S, 找到和与给定整数target最接近的三元组,返回这三个数的和。样例例1:输入:[2,7,11,15],3输出:20解释:2+7+11=20例2:输入:[-1,2,1,-4],1输出:2解释:-1+2+1=2挑战O(n^2) 时间, O(1) 额外空间。注意事项只需要返回三元组之和,无需返回三元组本身...

2019-03-31 10:53:20 120

原创 【一次过】Lintcode 90. k数和 II

给定n个不同的正整数,整数k(1<=k <= n)以及一个目标数字。    在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案。样例Example 1: Input: [1,2,3,4], k = 2, target = 5 Output: [[1,4],[2,3]]Example 2: Input: [1,3,4,6],...

2019-03-31 10:29:12 165

原创 【一次过】Lintcode 58. 四数之和

给一个包含n个数的整数数组S,在S中找到所有使得和为给定整数target的四元组(a, b, c, d)。样例例1:输入:[2,7,11,15],3输出:[]例2:输入:[1,0,-1,0,-2,2],0输出:[[-1, 0, 0, 1],[-2, -1, 1, 2],[-2, 0, 0, 2]]注意事项四元组(a, b, c, d)中,需要满足a ...

2019-03-29 10:39:06 159

原创 【一次过】Lintcode 57. 三数之和

给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。样例例1:输入:[2,7,11,15]输出:[]例2:输入:[-1,0,1,2,-1,-4]输出:[[-1, 0, 1],[-1, -1, 2]]注意事项在三元组(a, b, c),要求a <= b <= c。结果不能包含重复的三元组...

2019-03-29 10:22:19 129

原创 【两次过】Lintcode 1666. 组合+判断素数

给定n个整数和一个整数k, 你可以从中选择k个整数, 现在,要求你计算出和为素数共有多少种。样例给定a=[3,7,12,19], k=3, 返回1解释:有4种方案3+7+12=22  3+7+19=29  7+12+19=38  3+12+19=34, 只有 29 是素数.给定a=[1,2,3], k=2, 返回2解释:有3种方案1 + 2 = ...

2019-03-29 10:06:11 510

原创 【两次过】Lintcode 473. 单词的添加与查找

设计一个包含下面两个操作的数据结构:addWord(word),search(word)addWord(word)会在数据结构中添加一个单词。而search(word)则支持普通的单词查询或是只包含.和a-z的简易正则表达式的查询。一个.可以代表一个任何的字母。样例样例 1:输入: addWord("a") search(".")输出: true样...

2019-03-28 10:16:01 211

原创 【两次过】Lintcode 442. 实现 Trie(前缀树)

实现一个 Trie,包含insert,search, 和startsWith这三个方法。样例样例 1:输入: insert("lintcode") search("lint") startsWith("lint")输出: false true样例 2:输入: insert("lintcode") search("code") ...

2019-03-28 09:31:50 130

原创 【两次过】Lintcode 130. 堆化

给出一个整数数组,堆化操作就是把它变成一个最小堆数组。对于堆数组A,A[0]是堆的根,并对于每个A[i],A [i * 2 + 1]是A[i]的左儿子并且A[i * 2 + 2]是A[i]的右儿子。样例给出[3,2,1,4,5],返回[1,2,3,4,5]或者任何一个合法的堆数组挑战O(n)的时间复杂度完成堆化说明什么是堆?堆是一种数据结构,它通常有三种方法:p...

2019-03-27 09:39:23 138

原创 【一次过】Lintcode 545. 前K大数 II

实现一个数据结构,提供下面两个接口1.add(number)添加一个元素2.topk()返回前K大的数样例Example1Input: s = new Solution(3);s.add(3)s.add(10)s.topk()s.add(1000)s.add(-99)s.topk()s.add(4)s.topk()s.add(100)s.topk() ...

2019-03-26 20:51:18 147

原创 【三次过】Lintcode 87. 删除二叉查找树的节点

给定一棵具有不同节点值的二叉查找树,删除树中与给定值相同的节点。如果树中没有相同值的节点,就不做任何处理。你应该保证处理之后的树仍是二叉查找树。样例给出如下二叉查找树: 5 / \ 3 6/ \2 4删除节点3之后,你可以返回: 5 / \...

2019-03-26 09:50:51 121

原创 【两次过】Lintcode 436. 最大正方形

在一个二维01矩阵中找到全为1的最大正方形, 返回它的面积.样例样例 1:输入:[ [1, 0, 1, 0, 0], [1, 0, 1, 1, 1], [1, 1, 1, 1, 1], [1, 0, 0, 1, 0]]输出: 4样例 2:输入: [ [0, 0, 0], [1, 1, 1]]输出: 1解题思路:动态规划。设定...

2019-03-22 09:53:22 170

原创 【两次过】Lintcode 76. 最长上升子序列

给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。样例样例 1: 输入: [5,4,1,2,3] 输出: 3 解释: LIS 是 [1,2,3]样例 2: 输入: [4,2,4,5,3,7] 输出: 4 解释: LIS 是 [2,4,5,7]挑战要求时间复杂度为O(n^2) 或者 O(nlogn)说明最长上升子序列的...

2019-03-21 09:02:07 150

原创 【一次过】二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:矩阵是有序的,从左下角来看,向上数字递减,向右数字递增,因此从左下角开始查找,当要查找数字比左下角数字大时。右移,要查找数字比左下角数字小时,上移public class ...

2019-03-20 09:26:42 110

原创 【一次过】Lintcode 117. 跳跃游戏 II

给出一个非负整数数组,你最初定位在数组的第一个位置。数组中的每个元素代表你在那个位置可以跳跃的最大长度。   你的目标是使用最少的跳跃次数到达数组的最后一个位置。样例给出数组A =[2,3,1,1,4],最少到达数组最后一个位置的跳跃次数是2(从数组下标0跳一步到数组下标1,然后跳3步到数组的最后一个位置,一共跳跃2次)解题思路1:动态规划,与Lintcode 116. ...

2019-03-18 14:22:15 116

原创 【一次过】【2018拼多多】六一儿童节

题目描述六一儿童节,老师带了很多好吃的巧克力到幼儿园。每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]>=h[i]),他才会上去表演节目。老师的目标是将巧克力分发给孩子们,使得最多的小孩上台表演。可以保证每个w[i]> 0且不能将多块巧克力分给一个孩子或将一块分给多个孩子。输入描述:第一行:n,表示h数组元素个数 第二行:n...

2019-03-18 09:25:41 134

原创 【两次过】【2018拼多多】最大乘积

给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)输入描述:数组大小n无序整数数组A[n]输出描述:满足条件的最大乘积示例1输入复制43 4 1 2输出复制24解题思路://AC的o(n)代码,一定要注意存储的数组类型是long型(之前是int型就没通过)/...

2019-03-16 10:41:46 178

原创 【两次过】变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路:与Lintcode 111. 爬楼梯类似,只不过递推式变为dp[i] = dp[i-1] + dp[i-2] + ... + dp[0] + 1;注意不要漏了+1,因为任何台阶都有一次性跳上的跳法。public class Solution { ...

2019-03-16 09:27:15 132

原创 【两次过】Lintcode 124. 最长连续序列

给定一个未排序的整数数组,找出最长连续序列的长度。样例给出数组[100, 4, 200, 1, 3, 2],这个最长的连续序列是[1, 2, 3, 4],返回所求长度 4说明要求你的算法复杂度为O(n)解题思路:由于算法复杂度要求,可以使用空间换时间。将所有数字都存入HashSet中,再遍历数组,从遍历的元素向两边扩展搜索,看看有无连续序列。public class...

2019-03-15 09:40:01 177

原创 【两次过】不用加减乘除做加法

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解题思路:首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。同样我们可以用三步走的方...

2019-03-13 11:16:51 91

原创 【三次过】Lintcode 134. LRU缓存策略

为最近最少使用(LRU)缓存策略设计一个数据结构,它应该支持以下操作:获取数据(get)和写入数据(set)。获取数据get(key):如果缓存中存在key,则获取其数据值(通常是正数),否则返回-1。写入数据set(key, value):如果key还没有在缓存中,则写入其数据值。当缓存达到上限,它应该在写入新数据之前删除最近最少使用的数据用来腾出空闲位置。样例样例1输入:...

2019-03-11 10:05:27 281

原创 【两次过】Lintcode 34. N皇后问题 II

根据n皇后问题,现在返回n皇后不同的解决方案的数量而不是具体的放置布局。样例例1:输入: n=1输出: 1解释:1:1例2:输入: n=4输出: 2解释:1:0 0 1 01 0 0 00 0 0 10 1 0 02:0 1 0 0 0 0 0 11 0 0 00 0 1 0解题思路:和Lintcode 33. N皇后问题类似,更加...

2019-03-05 10:04:00 169

原创 【三次过】Lintcode 778. 太平洋和大西洋的水流

给定一个m×n的非负矩阵代表一个大洲,矩阵的每个单元格的值代表此处的地形高度,矩阵的左边缘和上边缘是“太平洋”,下边缘和右边缘是“大西洋”。水流只能在四个方向(上,下,左或右)从一个单元格流向另一个海拔和自己相等或比自己低的单元格。找到那些从此处出发的水既可以流到“太平洋”,又可以流向“大西洋”的单元格的坐标。样例例1:输入:matrix = [[1,2,2,3,5],...

2019-03-04 11:28:51 270

原创 【两次过】Lintcode 477. 被围绕的区域

给一个二维的矩阵,包含'X'和'O', 找到所有被'X'围绕的区域,并用'X'替换其中所有的'O'。样例样例 1:输入: X X X X X O O X X X O X X O X X输出: X X X X X X X X X X X X X O X X样例 2:输入: X X X X X O O X X O...

2019-03-04 10:05:15 188

空空如也

空空如也

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

TA关注的人

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