会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
PigDragon
搜索旋转排序数组
摘要: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O
阅读全文
posted @ 2020-03-18 23:25 PigDragon
阅读(191)
评论(0)
推荐(0)
编辑
下一个排列
摘要: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 →
阅读全文
posted @ 2020-03-18 22:25 PigDragon
阅读(252)
评论(0)
推荐(0)
编辑
实现 strStr()
摘要: 实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出:
阅读全文
posted @ 2020-03-14 22:10 PigDragon
阅读(142)
评论(0)
推荐(0)
编辑
移除元素
摘要: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1:给定 nums = [3,2,2
阅读全文
posted @ 2020-03-14 22:06 PigDragon
阅读(119)
评论(0)
推荐(0)
编辑
删除排序数组中的重复项
摘要: 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums
阅读全文
posted @ 2020-03-10 23:34 PigDragon
阅读(939)
评论(0)
推荐(0)
编辑
两两交换链表中的节点
摘要: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例:给定 1->2->3->4, 你应该返回 2->1->4->3. 方法一: 递归 递归写法要观察本级递归的解决过程,形成抽象模型,因为递归本质就是不断重复相同的事情。而不是
阅读全文
posted @ 2020-03-10 21:37 PigDragon
阅读(408)
评论(0)
推荐(0)
编辑
括号生成
摘要: 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"] 方法一:深度优先遍历 我们以 n = 2 为例,画树形结构图。方法是
阅读全文
posted @ 2020-03-10 17:32 PigDragon
阅读(265)
评论(0)
推荐(0)
编辑
合并两个有序链表
摘要: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 方法一: 思路: 递归法来合并连个有序的链表可以按照如下定义来执行: if(list1[0]->val < list2[0
阅读全文
posted @ 2020-03-09 22:32 PigDragon
阅读(296)
评论(0)
推荐(0)
编辑
有效的括号
摘要: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: tr
阅读全文
posted @ 2020-03-09 21:50 PigDragon
阅读(161)
评论(0)
推荐(0)
编辑
删除链表的倒数第N个节点
摘要: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5. 方法一: 希望是O(N)的算法,通过一次遍历来解决问题. 首先题目中说了,要删除的是倒数第N个节点,那我就
阅读全文
posted @ 2020-03-08 22:29 PigDragon
阅读(340)
评论(0)
推荐(0)
编辑
下一页
导航
博客园
首页
联系
订阅
管理
公告