
leetcode
文章平均质量分 76
记录letcode学习
进击的Paul
初级菜鸟
展开
-
LeetCode目录
LeetCode学习笔记目录1.两数之和7.数字反转9.回文数原创 2020-08-23 00:22:13 · 150 阅读 · 0 评论 -
每天一道LeetCode Day16:交换字符串中的元素
题目给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。你可以 任意多次交换 在 pairs 中任意一对索引处的字符。返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。示例 1:输入:s = “dcab”, pairs = [[0,3],[1,2]]输出:“bacd”解释:交换 s[0] 和 s[3], s = “bcad”交换 s[1] 和 s[2], s = “bacd”示原创 2021-01-12 22:57:21 · 239 阅读 · 0 评论 -
每天一道LeetCode Day15:字符串中第一个唯一字符出现的位置
题目给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = “leetcode”返回 0s = “loveleetcode”返回 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。分析建立一个数组int count[] 统计每一个字符出现的次数。按照字原创 2020-12-23 22:47:00 · 304 阅读 · 0 评论 -
每天一道LeetCode Day14:二叉树的锯齿层序遍历
题目给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],返回锯齿形层序遍历如下:[[3],[20,9],[15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业原创 2020-12-22 22:48:21 · 201 阅读 · 0 评论 -
每天一道LeetCodeDay13:使用最小花费爬楼梯
题目数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。示例 2:输入: cost = [1, 100, 1, 1, 1, 100,原创 2020-12-21 23:43:03 · 117 阅读 · 0 评论 -
每天一道LeetCode Day12:去除重复字符(保证最小字典序)
题目给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例 1:输入:s = “bcabc”输出:“abc”示例 2:输入:s = “cbacdcbc”输出:“acdb”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicate-letters著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。分析要求原创 2020-12-20 22:42:17 · 1127 阅读 · 0 评论 -
每天一道LeetCode Day11:最长公共前缀
题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出原创 2020-12-18 23:28:24 · 123 阅读 · 1 评论 -
每天一道LeetCode Day10:找不同
题目给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = “abcd”, t = “abcde”输出:“e”解释:‘e’ 是那个被添加的字母。示例 2:输入:s = “”, t = “y”输出:“y”示例 3:输入:s = “a”, t = “aa”输出:“a”示例 4:输入:s = “ae”, t = “aea”输出:“a”来源:力扣(LeetCode)链接:原创 2020-12-18 21:23:23 · 119 阅读 · 1 评论 -
每天一道LeetCode Day9 :买卖股票的最佳时机含手续费
每天一道LeetCode :Day6题目:买卖股票的最佳时机含手续费给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fe原创 2020-12-17 22:31:39 · 116 阅读 · 0 评论 -
每天一道LeetCode Day8:单词规律
每天一道LeetCode:Day5题目给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “abba”, str = “dog cat cat fish”输出: false示例 3原创 2020-12-17 21:34:21 · 156 阅读 · 0 评论 -
每天一道LeetCode Day7:单调递增的数字
每天一道LeetCode Day4题目给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)分析:S1:分离出输入N的各个位数上的数字,存起来num[10]={个,十,百,千,万};S2:判断num[10] 上的数字是否的单调递减的S2.1如果是,那么返回;S2.1 如果不是,则N=N-1;...原创 2020-12-17 20:25:05 · 160 阅读 · 0 评论 -
每天一道LeetCode Day6:字母异位分组
每天一道LeetCode:Day3题目给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]思路利用排序,将具有相同字母的单词,归类。使用map存储,其中键值就是排序后的字母,值就是异位词组成的链表。如何将这种关系保存起来是关键。public List&l原创 2020-12-14 22:24:44 · 116 阅读 · 0 评论 -
每天一道LeetCode Day5: 最长公共子序列LSC
每天一到LeetCode:Day2题目给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列 lsc 的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。分析这是一道典型的二维原创 2020-12-13 22:39:16 · 154 阅读 · 0 评论 -
每天一道LeetCode:Day4 给定一个整数数组,判断是否存在重复元素
每天一道LeetCode Day1:2020-12-12题目:给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。暴力法思路::遍历当前的数组,使得每一个元素num[i](i<len) 与后面的所有的元素num[j](i<j<len) 进行比较,只要相等,返回True。public boolean containsDuplicate(int[] nums) { in原创 2020-12-13 20:38:52 · 564 阅读 · 0 评论 -
每天一道LeetCode Day3 :回文数
9. 回文数难度简单1165收藏分享切换为英文关注反馈判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。解题思路:转为字符串,看是否对称.原创 2020-07-31 23:16:56 · 151 阅读 · 0 评论 -
每天一道LeetCode Day2:整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解题思路:1.按位取数 分离各个位上的数2、溢出的处理?判断(int)n=n?n:0;class S...原创 2020-07-31 23:06:28 · 103 阅读 · 0 评论 -
每天一道LeetCode Day1 两数之和
1.两数之和给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]package com.paul.proxy;import java.util.*;/** * ...原创 2020-07-31 00:51:23 · 138 阅读 · 0 评论