斩杀LintCode
Narasimha_Karumanchi
这个作者很懒,什么都没留下…
展开
-
经典二分查找问题
问题描述:在一个排序数组中找一个数,返回该数的任意的位置,否则返回-1public class Solution { /** * @param nums: An integer array sorted in ascending order * @param target: An integer * @return an integer原创 2017-05-11 21:52:06 · 505 阅读 · 0 评论 -
Java实现-最大子数组2
public class Solution { /** * @param nums: A list of integers * @return: An integer denotes the sum of max two non-overlapping subarrays */ public int maxTwoSubArrays(ArrayList原创 2017-06-04 17:07:20 · 313 阅读 · 0 评论 -
Java实现-最大子数组1
public class Solution { /** * @param nums: A list of integers * @return: A integer indicate the sum of max subarray */ public int maxSubArray(int[] nums) { // write your原创 2017-06-04 17:05:51 · 336 阅读 · 0 评论 -
Java实现-接雨水
public class Solution { /** * @param heights: an array of integers * @return: a integer */ public int trapRainWater(int[] heights) { // write your code here原创 2017-06-04 20:36:43 · 2121 阅读 · 1 评论 -
Java实现-寻找峰值
class Solution { /** * @param A: An integers array. * @return: return any of peek positions. */ public int findPeak(int[] A) { // write your code here if(A.lengt原创 2017-06-04 20:52:18 · 2317 阅读 · 0 评论 -
Java实现-报数
public class Solution { /** * @param n the nth * @return the nth sequence */ public String countAndSay(int n) { // Write your code here if(n==0){ return "1";原创 2017-06-04 21:21:16 · 583 阅读 · 0 评论 -
Java实现-颜色分类
class Solution { /** * @param nums: A list of integer which is 0, 1 or 2 * @return: nothing */ public void sortColors(int[] nums) { // write your code here Hash原创 2017-06-04 21:38:40 · 1316 阅读 · 0 评论 -
Java实现-格雷编码
格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个二进制的差异。给定一个非负整数 n ,表示该代码中所有二进制的总数,请找出其格雷编码顺序。一个格雷编码顺序必须以 0 开始,并覆盖所有的 2n 个整数。 注意事项对于给定的 n,其格雷编码顺序并不唯一。根据以上定义, [0,2,3,1] 也是一个有效的格雷编码顺序。您在真实的面试中是原创 2017-06-15 21:01:11 · 434 阅读 · 0 评论 -
Java实现-三角形计数
给定一个整数数组,在该数组中,寻找三个数,分别代表三角形三条边的长度,问,可以寻找到多少组这样的三个数来组成三角形?您在真实的面试中是否遇到过这个题? Yes样例例如,给定数组 S = {3,4,6,7},返回 3其中我们可以找到的三个三角形为:{3,4,6}{3,6,7}{4,6,7}给定数组 S = {4,4,4,4}, 返原创 2017-06-15 21:18:09 · 645 阅读 · 0 评论 -
Java实现-最长无重复字符的子串
public class Solution { /** * @param s: a string * @return: an integer */ public int lengthOfLongestSubstring(String s) { // write your code here if(s.length()=原创 2017-06-05 22:27:30 · 4427 阅读 · 0 评论 -
Java实现-两个链表的交叉
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */原创 2017-06-06 09:58:07 · 1937 阅读 · 0 评论 -
Java实现-交错正负数
给出一个含有正整数和负整数的数组,重新排列成一个正负数交错的数组。 注意事项不需要保持正整数或者负整数原来的顺序。您在真实的面试中是否遇到过这个题? Yes样例给出数组[-1, -2, -3, 4, 5, 6],重新排序之后,变成[-1, 5, -2, 4, -3, 6]或者其他任何满足要求的答案挑战原创 2017-06-17 10:31:08 · 916 阅读 · 0 评论 -
Java实现-链表的倒数第n个节点
找到单链表倒数第n个节点,保证链表中节点的最少数量为n。您在真实的面试中是否遇到过这个题? Yes样例给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1./** * Definition for ListNode. * public class ListNode { * int val; *原创 2017-06-17 10:32:35 · 922 阅读 · 0 评论 -
Java实现-翻转链表
翻转一个链表您在真实的面试中是否遇到过这个题? Yes样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null挑战 在原地一次翻转完成/** * Definition for ListNode. * public class ListNode { * int val;原创 2017-06-17 11:26:33 · 508 阅读 · 0 评论 -
Java实现-数组划分
给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。 注意事项你应该真正的划分数组 nums,而不仅仅只是计算比 k 小的整数数,如果数组 nums 中的所有元素都比 k 小,则返回 nums.原创 2017-06-17 12:13:29 · 1809 阅读 · 0 评论 -
Java实现-第K大元素
在数组中找到第k大的元素 注意事项你可以交换数组中的元素的位置您在真实的面试中是否遇到过这个题? Yes样例给出数组 [9,3,2,4,8],第三大的元素是 4给出数组 [1,2,3,4,5],第一大的元素是 5,第二大的元素是 4,第三大的元素是 3,以此类推挑战 要求时间复杂度为O(n),空原创 2017-06-17 16:33:11 · 1596 阅读 · 0 评论 -
Java实现-链表求和
你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。您在真实的面试中是否遇到过这个题? Yes样例给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null/** * Def原创 2017-06-17 17:02:12 · 918 阅读 · 0 评论 -
Java实现-组合
组给出两个整数n和k,返回从1......n中选出的k个数的组合。您在真实的面试中是否遇到过这个题? Yes样例例如 n = 4 且 k = 2返回的解为:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4]]public class Solution { /** * @param n:原创 2017-06-17 21:22:19 · 245 阅读 · 0 评论 -
Java实现-数字组合1
给出一组候选数字(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。例如,给出候选数组[2,3,6,7]和目标数字7,所求的解为:[7],[2,2,3] 注意事项所有的数字(包括目标数字)均为正整数。元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤ a2 ≤ … ≤ ak)。解集不原创 2017-06-17 21:36:51 · 1201 阅读 · 0 评论 -
Java实现-数字组合2
给出一组候选数字(C)和目标数字(T),找出C中所有的组合,使组合中数字的和为T。C中每个数字在每个组合中只能使用一次。 注意事项所有的数字(包括目标数字)均为正整数。元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤ a2 ≤ … ≤ ak)。解集不能包含重复的组合。 您在真实的面试中是否遇到过这个题? Ye原创 2017-06-17 21:40:35 · 722 阅读 · 0 评论 -
Java实现-最大子数组差
给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B)|最大。返回这个最大的差值。 注意事项子数组最少包含一个数您在真实的面试中是否遇到过这个题? Yes样例给出数组[1, 2, -3, 1],返回 6挑战 时间复杂度为O(n),空间复杂度原创 2017-06-18 10:25:19 · 711 阅读 · 0 评论 -
Java实现-前序遍历和中序遍历构建二叉树
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left =原创 2017-06-02 13:12:58 · 986 阅读 · 0 评论 -
Java实现-中序遍历和后续遍历构建二叉树
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left =原创 2017-06-02 13:20:00 · 8858 阅读 · 0 评论 -
Java实现-验证平衡二叉树
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left =原创 2017-06-02 14:13:27 · 414 阅读 · 0 评论 -
Java实现-岛屿的个数
public class Solution { /** * @param grid a boolean 2D matrix * @return an integer */ public int numIslands(boolean[][] grids) { // Write your code here if(grids原创 2017-06-06 22:09:39 · 1182 阅读 · 0 评论 -
Java实现-带环链表
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } */ p原创 2017-06-06 22:32:27 · 438 阅读 · 0 评论 -
Java实现-删除数字
给出一个字符串 A, 表示一个 n 位正整数, 删除其中 k 位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。找到删除 k 个数字之后的最小正整数。N k N您在真实的面试中是否遇到过这个题? Yes样例给出一个字符串代表的正整数 A 和一个整数 k, 其中 A = 178542, k = 4返回一个字符串 "12"原创 2017-06-18 13:53:58 · 2174 阅读 · 0 评论 -
Java实现-奇偶分割数组
分割一个整数数组,使得奇数在前偶数在后。您在真实的面试中是否遇到过这个题? Yes样例给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]。挑战 在原数组中完成,不使用额外空间。public class Solution { /** * @param nums: an array of in原创 2017-06-18 14:05:49 · 2024 阅读 · 0 评论 -
Java实现-最小子数组
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。 注意事项子数组最少包含一个数字您在真实的面试中是否遇到过这个题? Yes样例给出数组[1, -1, -2, 1],返回 -3public class Solution { /** * @param nums: a list of原创 2017-06-13 21:48:13 · 447 阅读 · 0 评论 -
Java实现-中位数
给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。您在真实的面试中是否遇到过这个题? Yes样例给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5挑战 时间复杂度为O(n)public class S原创 2017-06-18 14:48:42 · 11843 阅读 · 2 评论 -
Java实现-最小差
给定两个整数数组(第一个是数组 A,第二个是数组 B),在数组 A 中取 A[i],数组 B 中取 B[j],A[i] 和 B[j]两者的差越小越好(|A[i] - B[j]|)。返回最小差。您在真实的面试中是否遇到过这个题? Yes样例给定数组 A = [3,4,6,7], B = [2,3,8,9],返回 0。挑战原创 2017-06-18 15:41:46 · 1275 阅读 · 0 评论 -
Java实现-合并两个排序链表
将两个排序链表合并为一个新的排序链表您在真实的面试中是否遇到过这个题? Yes样例给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。/** * Definition for ListNode. * public class ListNode { *原创 2017-06-18 16:04:38 · 614 阅读 · 0 评论 -
Java实现-合并排序数组
合并两个排序的整数数组A和B变成一个新的数组。您在真实的面试中是否遇到过这个题? Yes样例给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]挑战 你能否优化你的算法,如果其中一个数组很大而另一个数组很小?class Solution { /** * @p原创 2017-06-18 16:16:45 · 1872 阅读 · 0 评论 -
Java实现-恢复旋转排序数组
给定一个旋转排序数组,在原地恢复其排序。您在真实的面试中是否遇到过这个题? Yes说明什么是旋转数组?比如,原始数组为[1,2,3,4], 则其旋转数组可以是[1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3]样例[4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]原创 2017-06-18 16:42:53 · 648 阅读 · 0 评论 -
Java实现-完美平方
给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n。你需要让平方数的个数最少。您在真实的面试中是否遇到过这个题? Yes样例给出 n = 12, 返回 3 因为 12 = 4 + 4 + 4。给出 n = 13, 返回 2 因为 13 = 4 + 9。public class S原创 2017-06-18 20:21:43 · 1586 阅读 · 0 评论 -
Java实现-删除排序链表中的重复元素2
/** * Definition for ListNode * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solu原创 2017-06-07 10:58:41 · 578 阅读 · 0 评论 -
Java实现-删除排序链表的重复元素1
/** * Definition for ListNode * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solu原创 2017-06-07 10:57:20 · 1280 阅读 · 0 评论 -
Java实现-落单的数1
public class Solution { /** *@param A : an integer array *return : a integer */ public int singleNumber(int[] A) { // Write your code here if(A.length==0)原创 2017-06-02 20:40:47 · 424 阅读 · 0 评论 -
Java实现-落单的数2
public class Solution { /** * @param A : An integer array * @return : An integer */ public int singleNumberII(int[] A) { // write your code here if(A.length==0){ return原创 2017-06-02 20:43:28 · 513 阅读 · 0 评论 -
Java实现-落单的数3
public class Solution { /** * @param A : An integer array * @return : Two integers */ public List singleNumberIII(int[] A) { // write your code here List list=ne原创 2017-06-02 20:44:49 · 416 阅读 · 0 评论