算法学习
weixin_42212257
这个作者很懒,什么都没留下…
展开
-
leetcode 33:搜索旋转排序数组,二分法
leetcode 33:搜索旋转排序数组,二分法1.题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:...原创 2020-04-21 08:54:38 · 136 阅读 · 0 评论 -
leetcode24:两两交换链表中的节点
leetcode24:两两交换链表中的节点1.题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.2.思考:其实这道题有两种方式,递归和迭代这里只介绍迭代,因为实在是没必要递归思路:新增两个节点,进行互...原创 2020-04-18 19:37:16 · 122 阅读 · 0 评论 -
leetcode19 删除链表倒数节点,双指针,中间差为n
1.双指针,指针A先移动n次, 指针B再开始移动。当A到达null的时候, 指针b的位置正好是倒数n我们可以设想假设设定了双指针p和q的话,当q指向末尾的NULL,p与q之间相隔的元素个数为n时,那么删除掉p的下一个指针就完成了要求。设置虚拟节点dummyHead指向head设定双指针p和q,初始都指向虚拟节点dummyHead移动q,直到p与q之间相隔的元素个数为n同时移动p与q,直到...原创 2020-04-17 11:34:09 · 82 阅读 · 0 评论 -
leetcode17. 电话号码的字母组合,回溯法,穷举法
1.方法:回溯是一种通过穷举所有可能情况来找到所有解的算法。如果一个候选解最后被发现并不是可行解,回溯算法会舍弃它,并在前面的一些步骤做出一些修改,并重新尝试找到可行解。给出如下回溯函数 backtrack(combination, next_digits) ,它将一个目前已经产生的组合 combination 和接下来准备要输入的数字 next_digits 作为参数。如果没有更多的数字需要...原创 2020-04-17 10:45:00 · 470 阅读 · 0 评论 -
leetcode3.无重复字符的最长子串,无重复,子串
leetcode3.无重复字符的最长子串,无重复,子串知识点:双指针,hashset,hashmap1.题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所...原创 2020-04-16 11:17:35 · 104 阅读 · 0 评论 -
leetcode2:两数相加(链表,两数和)
leetcode2:两数相加(链表,两数和)知识点:链表的考察1.题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) +...原创 2020-04-15 17:14:23 · 204 阅读 · 0 评论 -
leetcode316. 去除重复字母,字符串去重,最小字典序
leetcode316. 去除重复字母,字符串去重,最小字典序题目描述:给你一个仅包含小写字母的字符串,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例 1:输入: “bcabc”输出: “abc”示例 2:输入: “cbacdcbc”输出: “acdb”1.知识点:数据结构:重复与去重就应该想到hashset...原创 2020-04-15 11:16:28 · 3926 阅读 · 0 评论 -
leetcode26. 删除排序数组中的重复项
知识点:双指针,数组,不能使用额外空间1.题目描述给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需...原创 2020-04-14 11:18:59 · 90 阅读 · 0 评论 -
leetcode20. 有效的括号
1.题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输...原创 2020-04-14 10:54:44 · 74 阅读 · 0 评论