lintcode:插入区间
摘要:题目: 插入区间 插入区间 给出一个无重叠的按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 样例 插入区间[2, 5] 到 [[1,2], [5,9]],我们得到 [[1,9]]。 插入区间[3, 4] 到 [[1,
阅读全文
lintcode:合并区间
摘要:题目: 合并区间 给出若干闭合区间,合并所有重叠的部分。 样例 给出的区间列表 => 合并后的区间列表: O(n log n) 的时间和 O(1) 的额外空间。 解题: 按照start对区间进行排序 实现Comparator接口,重写compare方法 private class IntervalC
阅读全文
lintcode:合并两个排序链表
摘要:题目: 合并两个排序链表 将两个排序链表合并为一个新的排序链表 样例 给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。 解题: 数据结构中的书上说过,可解,异步的方式移动两个链表的指针,时间复杂度O(n+m) Java程序:
阅读全文
lintcode:Singleton 单例
摘要:题目: 单例 单例是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例。例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 singleton 模式。 你的任务是设计一个 getInstance 方法,对于给定
阅读全文
lintcode:Plus One 加一
摘要:题目: 加一 给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。 该数字按照大小进行排列,最大的数在列表的最前面。 样例 给定 [1,2,3] 表示 123, 返回 [1,2,4]. 给定 [9,9,9] 表示 999, 返回 [1,0,0,0]. 解题: 好像只有这样搞,对应
阅读全文
lintcode:Valid Sudoku 判断数独是否合法
摘要:题目: 判断数独是否合法 请判定一个数独是否有效。该数独可能只填充了部分数字,其中缺少的数字用 . 表示。 样例 下列就是一个合法数独的样例。 注意 一个合法的数独(仅部分填充)并不一定是可解的。我们仅需使填充的空格有效即可。 说明 什么是 数独? http://sudoku.com.au/TheR
阅读全文
lintcode:Unique Characters 判断字符串是否没有重复字符
摘要:题目: 判断字符串是否没有重复字符 实现一个算法确定字符串中的字符是否均唯一出现 样例 给出"abc",返回 true 给出"aab",返回 false 挑战 如果不使用额外的存储空间,你的算法该如何改变? 解题: 定义一个集合最简单。 Java程序: public class Solution {
阅读全文
lintcode:Remove Nth Node From End of Lis 删除链表中倒数第n个节点
摘要:题目: 删除链表中倒数第n个节点 给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 样例 给出链表1->2->3->4->5->null和 n = 2. 删除倒数第二个节点之后,这个链表将变成1->2->3->5->null. 注意 链表中的节点个数大于等于n 解题: 要删除倒数第n个节点
阅读全文
lintcode :Remove Duplicates from Sorted List 删除排序链表中的重复元素
摘要:题目: 删除排序链表中的重复元素 给定一个排序链表,删除所有重复的元素每个元素只留下一个。 您在真实的面试中是否遇到过这个题? 样例 给出1->1->2->null,返回 1->2->null 给出1->1->2->3->3->null,返回 1->2->3->null 解题: Java程序 /**
阅读全文
lintcode :Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II
摘要:题目: 删除排序数组中的重复数字 II 跟进“删除重复数字”: 如果可以允许出现两次重复将如何处理? 样例 给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A=[1,1,2,2,3] 解题: 在这里看到的 与上一题方法很类似,这里保存相同元素长度小于2的保存在原来的数组中 很巧
阅读全文
lintcode :Remove Duplicates from Sorted Array 删除排序数组中的重复数字
摘要:题目: 删除排序数组中的重复数字 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 样例 给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。 解题: 用Python直
阅读全文
lintcode:Remove Element 删除元素
摘要:题目: 删除元素 给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。 元素的顺序可以改变,并且对新的数组不会有影响。 样例 给出一个数组 [0,4,4,0,0,2,4,4],和值 4 返回 4 并且4个元素的新数组为[0,0,0,2] 解题: Java程序: public class
阅读全文
lintcode:Palindrome Partitioning 分割回文串
摘要:题目: 分割回文串 给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。 返回s所有可能的回文串分割方案。 样例 给出 s = "aab",返回 [ ["aa","b"], ["a","a","b"] ] 解题: 这个题目不好搞啊,需要动态规划 <!--StartFragment -->在这
阅读全文
lintcode:Add Binary 二进制求和
摘要:<!--StartFragment -->题目: 二进制求和 给定两个二进制字符串,返回他们的和(用二进制表示)。 样例 a = 11 b = 1 返回 100 解题: 和求两个链表的和很类似 考虑进位,考虑最后一项的进位 0+0 = 0 不需要进位 0+1 = 1 不需要进位 1+1 =0 进位
阅读全文
lintcode :Count 1 in Binary 二进制中有多少个1
摘要:<!--StartFragment -->题目: 二进制中有多少个1 49% 通过 计算在一个 32 位的整数的二进制表式中有多少个 1. 样例 给定 32 (100000),返回 1 给定 5 (101),返回 2 给定 1023 (111111111),返回 9 解题: Java程序: publ
阅读全文
lintcode : 二叉树的最小深度
摘要:题目: 二叉树的最小深度 给定一个二叉树,找出其最小深度。 二叉树的最小深度为根节点到最近叶子节点的距离。 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最小深度为 2 解题: 递归求解 Java程序: 总耗时: 2455 ms Python程序:
阅读全文
lintcode :二叉树的最大深度
摘要:题目: 二叉树的最大深度 二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最大深度为3. 解题: 递归方式求树的深度,记住考研时候考过这一题 Java程序: /** * De
阅读全文
lintcode:Binary Tree Postorder Traversal 二叉树的后序遍历
摘要:题目: 二叉树的后序遍历 给出一棵二叉树,返回其节点值的后序遍历。 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [3,2,1] 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [3,2,1] 给出一棵二叉树 {1,#,2,3}, 返回 [3,2,1] 挑战
阅读全文
lintcode :Binary Tree Preorder Traversal 二叉树的前序遍历
摘要:题目: 二叉树的前序遍历 给出一棵二叉树,返回其节点值的前序遍历。 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3]. 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3]. 给出一棵二叉树 {1,#,2,3}, 返回 [1,2,3].
阅读全文
lintcode:二叉树的中序遍历
摘要:题目: 二叉树的中序遍历 给出一棵二叉树,返回其中序遍历 样例 给出二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,3,2]. 给出二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,3,2]. 给出二叉树 {1,#,2,3}, 返回 [1,3,2]. 挑战 你能使用非递归算
阅读全文
|
|
|