随笔分类 -  Algorithm

摘要:1、题目描述 所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超多一次的10个字母长的序列(子串)。 示例: 2、题解 2.1、解法一 2 阅读全文
posted @ 2018-12-04 17:44 RobotsRising 阅读(561) 评论(0) 推荐(0)
摘要:1、题目描述 比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。 你可以假设版本字符串非空,并且只包含数字和 . 字符。 . 字符不代表小数点,而是用于分隔数字 阅读全文
posted @ 2018-12-04 17:42 RobotsRising 阅读(323) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。 如果数组元素个数小于 2,则返回 0。 示例 1: 示例 2: 说明: 你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内。 请尝试在线性时间复杂度和空间复杂度的条件下解决此问题。 2、题解 2.1 阅读全文
posted @ 2018-12-04 17:40 RobotsRising 阅读(433) 评论(0) 推荐(0)
摘要:1、题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: 2、题解 2.1、解法一 阅读全文
posted @ 2018-12-04 17:37 RobotsRising 阅读(161) 评论(0) 推荐(0)
摘要:1、题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 注意数组中可能存在重复的元素。 示例 1: 示例 2: 说明: 这道题是 寻找旋转排序数组中的最小值 的延伸题 阅读全文
posted @ 2018-12-04 17:36 RobotsRising 阅读(224) 评论(0) 推荐(0)
摘要:1、题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例 1: 示例 2: 2、题解 2.1、解法一 阅读全文
posted @ 2018-12-04 17:34 RobotsRising 阅读(401) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个字符串,逐个翻转字符串中的每个单词。 示例: 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 进阶: 请选用C语言的用户尝试使用 O(1) 空间复杂度的原 阅读全文
posted @ 2018-12-04 17:32 RobotsRising 阅读(483) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个二叉树,返回它的 后序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 2、题解 2.1、解法一 原理:迭代算法 阅读全文
posted @ 2018-12-04 17:30 RobotsRising 阅读(173) 评论(0) 推荐(0)
摘要:1、题目描述 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 示例: 2、题解 2.1、解法一 阅读全文
posted @ 2018-12-04 17:27 RobotsRising 阅读(318) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 2、题解 2.1、解法一 阅读全文
posted @ 2018-12-04 17:26 RobotsRising 阅读(165) 评论(0) 推荐(0)
摘要:1、题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个 阅读全文
posted @ 2018-12-04 17:24 RobotsRising 阅读(340) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 示例 2: 2、题解 2.1、解法一 阅读全文
posted @ 2018-12-04 17:21 RobotsRising 阅读(119) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 示例 2: 2、题解 2.1、解法一 原理:递归 2.2、解法二 原理: 取首行,去除首行后,对矩阵翻转来创建新的矩阵,再递归直到新矩阵为[],退出并将取到的数据返回 阅读全文
posted @ 2018-12-04 17:19 RobotsRising 阅读(461) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 说明: 所有输入均为小写字母。 不考虑答案输出的顺序。 2、题解 2.1、解法一 原理:使用每个字符串排序,然后作为字典的key,源字符串作为value。 阅读全文
posted @ 2018-12-04 17:15 RobotsRising 阅读(226) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 2、题解 2.1、解法一 阅读全文
posted @ 2018-12-04 17:12 RobotsRising 阅读(127) 评论(0) 推荐(0)
摘要:1、题目描述 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 示例 2: 说明: 2、题解 2.1、解法一 阅读全文
posted @ 2018-12-04 17:08 RobotsRising 阅读(146) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 示例 1: 示例 2: 示例 3: 说明: 你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。 2、题解 2.1、解法一 原理:先对列表排序,然后判断相邻元素的差值是否大于1 阅读全文
posted @ 2018-12-04 17:06 RobotsRising 阅读(267) 评论(0) 推荐(0)
摘要:1、题目描述 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例 1: 示例 2: 说明: 一个有效的数独(部分已被填充)不一定是可解的。 只需要根据以上规则,验证已经填 阅读全文
posted @ 2018-12-04 17:03 RobotsRising 阅读(235) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: 阅读全文
posted @ 2018-12-04 16:58 RobotsRising 阅读(165) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], t 阅读全文
posted @ 2018-12-04 16:55 RobotsRising 阅读(196) 评论(0) 推荐(0)