随笔分类 -  Algorithm

摘要:1、题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复 阅读全文
posted @ 2018-12-04 16:50 RobotsRising 阅读(127) 评论(0) 推荐(0)
摘要:1、题目描述 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2 阅读全文
posted @ 2018-12-04 16:46 RobotsRising 阅读(147) 评论(0) 推荐(0)
摘要:1、题目描述 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 2、题解 2.1、解法一 原理:分治算法,将链表列表拆分成单个链表,然后再合并 阅读全文
posted @ 2018-12-04 16:41 RobotsRising 阅读(271) 评论(0) 推荐(0)
摘要:1、题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 2、题解 2.1、解法一 阅读全文
posted @ 2018-12-04 16:38 RobotsRising 阅读(303) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 2、题解 2 阅读全文
posted @ 2018-12-04 16:34 RobotsRising 阅读(185) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复的四元组。 示例: 给定数组 n 阅读全文
posted @ 2018-12-04 16:31 RobotsRising 阅读(100) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 2、 阅读全文
posted @ 2018-12-04 16:26 RobotsRising 阅读(172) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 targe 阅读全文
posted @ 2018-12-04 16:23 RobotsRising 阅读(207) 评论(0) 推荐(0)
摘要:1、题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共 阅读全文
posted @ 2018-12-04 16:17 RobotsRising 阅读(172) 评论(0) 推荐(0)
摘要:1、题目描述 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值 阅读全文
posted @ 2018-12-04 16:14 RobotsRising 阅读(228) 评论(0) 推荐(0)
摘要:1、题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中 阅读全文
posted @ 2018-12-04 16:00 RobotsRising 阅读(1062) 评论(0) 推荐(0)
摘要:1、题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 - 阅读全文
posted @ 2018-12-04 15:18 RobotsRising 阅读(198) 评论(0) 推荐(0)
摘要:1、题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 2、题解 2.1、解法一: 2.2、解法二 阅读全文
posted @ 2018-12-04 15:08 RobotsRising 阅读(207) 评论(0) 推荐(0)