原创 LintCode 36. 翻轉鏈表 II

翻轉鏈表中第m個節點到第n個節點的部分/** * Definition for ListNode * public class ListNode { * int val; * ListNode next; *

原创 LintCode 30. 插入區間

給出一個無重疊的按照區間起始端點排序的區間列表。在列表中插入一個新的區間,你要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合併區間)。/** * Definition of Interval: * public classs

原创 LintCode 29. 交叉字符串

給出三個字符串:s1、s2、s3,判斷s3是否由s1和s2交叉構成。public class Solution { /** * @param s1: A string * @param s2: A string

原创 LintCode 40. 用棧實現隊列

正如標題所述,你需要使用兩個棧來實現隊列的一些操作。隊列應支持push(element),pop() 和 top(),其中pop是彈出隊列中的第一個(最前面的)元素。pop和top方法都應該返回第一個元素的值。public class M

原创 LintCode 55. 比較字符串

比較兩個字符串A和B,確定A中是否包含B中所有的字符。字符串A和B中的字符都是 大寫字母public class Solution { /** * @param A: A string * @param B: A s

原创 LintCode 46. 主元素

給定一個整型數組,找出主元素,它在數組中的出現次數嚴格大於數組元素個數的二分之一。public class Solution { /* * @param nums: a list of integers * @ret

原创 LintCode 41. 最大子數組

給定一個整數數組,找到一個具有最大和的子數組,返回其最大和。public class Solution { /** * @param nums: A list of integers * @return: A int

原创 LintCode 44. 最小子數組

給定一個整數數組,找到一個具有最小和的子數組。返回其最小和。public class Solution { /* * @param nums: a list of integers * @return: A i

原创 LintCode 32. 最小子串覆蓋

給定一個字符串source和一個目標字符串target,在字符串source中找到包括所有目標字符串字母的子串。public class Solution { /** * @param source : A string

原创 LintCode 28. 搜索二維矩陣

寫出一個高效的算法來搜索 m × n矩陣中的值。這個矩陣具有以下特性:每行中的整數從左到右是排序的。每行的第一個數大於上一行的最後一個整數public class Solution { /** * @param matr

原创 LintCode 38. 搜索二維矩陣 II

寫出一個高效的算法來搜索m×n矩陣中的值,返回這個值出現的次數。這個矩陣具有以下特性:每行中的整數從左到右是排序的。每一列的整數從上到下是排序的。在每一行或每一列中沒有重複的整數。public class Solution { /*

原创 LintCode 39. 恢復旋轉排序數組

給定一個旋轉排序數組,在原地恢復其排序。public class Solution { /** * @param nums: An integer array * @return: nothing */

原创 LintCode 31. 數組劃分

給出一個整數數組 nums 和一個整數 k。劃分數組(即移動數組 nums 中的元素),使得:所有小於k的元素移到左邊所有大於等於k的元素移到右邊返回數組劃分的位置,即數組中第一個位置 i,滿足 nums[i] 大於等於 k。public

原创 LintCode 49. 字符大小寫排序

給定一個只包含字母的字符串,按照先小寫字母后大寫字母的順序進行排序。public class Solution { /* * @param chars: The letter array you should sort by

原创 LintCode 42. 最大子數組 II

給定一個整數數組,找出兩個 不重疊 子數組使得它們的和最大。每個子數組的數字在數組中的位置應該是連續的。返回最大的和。public class Solution { /* * @param nums: A list of i