
每日一题
文章平均质量分 83
每日一题算法
lightupworld
这个作者很懒,什么都没留下…
展开
-
【LeetCode每日一题】242. 有效的字母异位词
【LeetCode每日一题】242. 有效的字母异位词一、题目二、题解方法一:排序方法二:哈希表 一、题目 原题地址:242. 有效的字母异位词 二、题解 方法一:排序 1.思路及算法 t 是 s 的异位词等价于「两个字符串排序后相等」。因此我们可以对字符串 s 和 t 分别排序,看排序后的字符串是否相等即可判断。此外,如果 s 和t 的长度不同,t必然不是 s 的异位词。 2.代码 /** * @author : lightupworld * @description: leetcode-c原创 2021-05-24 20:04:18 · 168 阅读 · 0 评论 -
【LeetCode每日一题】136. 只出现一次的数字
【LeetCode每日一题】136. 只出现一次的数字一、题目二、题解方法一:遍历数组+Map存储方法二:异或运算 一、题目 原题地址:136. 只出现一次的数字 二、题解 方法一:遍历数组+Map存储 1.思路及算法 遍历数组,存入map中,key是值,value是出现的次数。然后再遍历map,找出次数为1的。 2.代码 /** * @author : lightupworld * @description: TODO * @date 2021/5/20 19:13 */ public原创 2021-05-21 15:06:12 · 326 阅读 · 0 评论 -
【LeetCode每日一题】剑指 Offer 03. 数组中重复的数字
【LeetCode每日一题】剑指 Offer 03. 数组中重复的数字一、题目二、题解方法一:遍历数组 + Map存储方法二:原地置换 一、题目 原题地址:剑指 Offer 03. 数组中重复的数字 二、题解 方法一:遍历数组 + Map存储 1.思路及算法 这是最常规的思路。由于只需要找出数组中任意一个重复的数字,因此遍历数组,遇到重复的数字即返回。为了判断一个数字是否重复遇到,使用集合存储已经遇到的数字,如果遇到的一个数字已经在集合中,则当前的数字是重复数字。 2.代码 /** * @auth原创 2021-05-20 18:01:15 · 184 阅读 · 0 评论 -
【LeetCode每日一题】3.无重复字符的最长子串
【LeetCode每日一题】3.无重复字符的最长子串一、题目二、题解方法: 双指针 一、题目 原题地址:3.无重复字符的最长子串 二、题解 方法: 双指针 1.思路及算法 这道题主要用到思路是:滑动窗口。什么是滑动窗口? 其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求。所以,我们要移动这个队列! 如何移动?我们只要把队列的左边的元素移出就行了,直到满足题目要求!一直维持这样的队列,找出队列出现原创 2021-05-19 09:46:32 · 245 阅读 · 0 评论 -
【LeetCode每日一题】1. 两数之和
【LeetCode每日一题】1. 两数之和一、题目二、题解方法一:暴力枚举 一、题目 原题地址:1.两数之和 二、题解 方法一:暴力枚举 1.思路及算法 最容易想到的方法是枚举数组中的每一个数 x,寻找数组中是否存在 target - x。直接使用双重for循环两次遍历数组即可。 当我们使用遍历整个数组的方式寻找 target - x时,需要注意到每一个位于 x之前的元素都已经和 x匹配过,因此不需要再进行匹配。而每一个元素不能被使用两次,所以我们只需要在 x后面的元素中寻找target - x。原创 2021-05-11 15:10:30 · 143 阅读 · 0 评论