
LeetCode
文章平均质量分 89
HanYQ_NWUer
这个作者很懒,什么都没留下…
展开
-
哈希表刷题总结
哈希表刷题总结原创 2022-11-14 21:18:37 · 273 阅读 · 1 评论 -
LeetCode 166:分数到小数
题目传送门给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。示例 1:输入: numerator = 1, denominator = 2输出: “0.5”示例 2:输入: numerator = 2, denominator = 1输出: “2”示例 3:输入: num...原创 2019-12-06 17:45:11 · 145 阅读 · 0 评论 -
leetcode138:复制带随机指针的链表
题目传送门**给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。示例:输入:{“KaTeX parse error: Expected '}', got 'EOF' at end of input: …":"1","next":{"id”:“2”,“next”:null,“random”:{“KaTeX parse err...原创 2019-12-06 17:08:03 · 128 阅读 · 0 评论 -
leetcode 136:只出现一次的数字(| ||)
题目传送门给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了两次。找出那个只出现了一次的元素。思路一:异或a⊕0=a;a⊕a=0a⊕b⊕a=(a⊕a)⊕b=b遍历数字,最后 的结果就是出现只出现一次的数。class Solution {public: int singleNumber(vector<int>& nums) { ...原创 2019-12-06 15:54:12 · 136 阅读 · 0 评论 -
leetcode 49:字母异位词分组
题目传送门给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。思路:map<string,v...原创 2019-12-04 18:56:30 · 124 阅读 · 0 评论 -
leetcode 36:有效的数独
题目传送门判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 ‘.’ 表示。示例 1:输入:[[“5”,“3”,".",".",“7”,"....原创 2019-12-04 18:16:28 · 125 阅读 · 0 评论 -
leetcode 18:四数之和
题目传送门给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合...原创 2019-12-04 10:43:36 · 153 阅读 · 0 评论 -
leetcode 3:无重复字符的最长子串
题目传送门给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “...原创 2019-12-03 23:51:32 · 183 阅读 · 0 评论 -
LeetCode15:LeetCode 15 3Sum(c++)
class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { int l=0; vector<vector<int>> vc; sort(nums.begin(),nu...原创 2019-12-03 08:57:22 · 161 阅读 · 0 评论 -
LeetCode 81搜索旋转排序数组 II
题目传送门假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。示例 1:输入: nums = [2,5,6,0,0,1,2], target = 0输出: true示例 2:输入: nums = ...原创 2019-11-30 11:17:03 · 226 阅读 · 0 评论 -
关于二分查找LeetCode刷题总结(上)
首先来谈一下二分查找的模板问题。一般会出现一下三种错误:1、数组越界。2、死循环3、跳过查询的元素下标。先来看几组常见容易出错的模板。int low=0,high=n;while(low<high){int mid=low+(high-low)/2;if(…)low=mid;elsehigh=mid;}这种情况下,如果在[2,2]中找值为3的下标,那么每次都会...原创 2019-11-24 22:55:11 · 264 阅读 · 0 评论 -
每日一道算法题:LeetCode33 搜索旋转排序数组
题目传送门**假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。O(logn)就说明直接遍历查找就不起作用了。思路:通过观...原创 2019-11-22 22:37:58 · 127 阅读 · 0 评论 -
力扣刷题日志:42 接雨水
题目传送门思路总结:如何想到使用栈:能存储雨水的条件是存在两个有高度的柱子,并且存在一定的距离。如何确定两个柱子之间的积水量,可以类比括号匹配,当存在左右括号,计算两个括号之间的积水。步骤:1.创建一个栈用来保存柱子的位置(从0开始),也就是vector的下标。2.先将第一个柱子的下标入栈,开始匹配。3.当栈不为空时,并且存在一个柱子高于栈顶柱子的高度时(之前的墙的高度低于目前墙高度,...原创 2019-09-18 10:59:04 · 128 阅读 · 0 评论 -
力扣刷题日记:20 有效的括号
题目传送门思路:要知道字符串中的括号是否匹配,用栈的先进后出特性再合适不过了,遇到左括号压入栈中,遇到右括号时将栈顶元素弹出栈,栈顶元素也就是需要和右括号进行匹配的左括号,如果匹配成功则继续向下进行匹配,在匹配不成功的情况,可直接返回false提前结束程序。map<char,char> m={{'(',')'},{'{','}'},{'[',']'}};class Solutio...原创 2019-09-10 15:27:10 · 162 阅读 · 0 评论