![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法刷题
Emory.
Die-hard programming fan
展开
-
LeetCode第383题(赎金信)
题目描述:为了不在赎金信中暴露字迹,从杂志上搜索各个需要的字母,组成单词来表达意思。给你一个赎金信 (ransomNote) 字符串和一个杂志(magazine)字符串,判断 ransomNote 能不能由 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。链接:https://leetcode-cn.com/problems/ransom-note思路:ransomNode 字符串原创 2021-12-04 23:57:48 · 2603 阅读 · 0 评论 -
LeetCode第1005题 (k次取反后最大化的数组和)
题目描述:给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。重复这个过程恰好 k 次。可以多次选择同一个下标 i 。以这种方式修改数组后,返回数组 可能的最大和 。思路:先对原数组进行一个排序,先将在k次范围内的负数变为正数,如果k在变为正数后还有剩余的次数,就将k对2取余,再次对数组进行排序,如果k是0说明k是个偶数,数组就全为正数,否则的话将数组第一个元素变为负数,再进行累加得出的就是最大化的数组和链接:h原创 2021-12-03 23:58:12 · 473 阅读 · 0 评论 -
LeetCode第70题 (爬楼梯)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶链接:https://leetcode-cn.com/problems/climbing-stairs思路:每次求n总和前面两项有关,可以使用递归,但这里也是用的迭代,求一个数组,返回第n项class Solution { public int原创 2021-11-19 23:50:33 · 3759 阅读 · 0 评论 -
LeetCode1137题 (第 N 个泰波那契数)
题目描述:泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。链接:https://leetcode-cn.com/problems/n-th-tribonacci-numberep:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4思路:从例子上看,这题跟509题的相类原创 2021-11-18 20:34:32 · 2226 阅读 · 0 评论 -
LeetCode509题 (斐波那契数)
题目描述:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1;思路:看到题目就很容易想到用递归去解题,但是当n比较大时,递归的层数是比较多的,然后下面是用空间去换时间,也就是常规的动态规划解法,把一个大问题,分解成一个个小问题,定义数组时需要注意的是,数组长度必须是n+1,因为我们要返回的是第n个位置的原创 2021-11-18 17:23:36 · 2709 阅读 · 1 评论 -
LeetCode34题(在排序数组中查找元素的第一个和最后一个位置)
题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。思路:用两次二分查找,分别找出该元素的上限,和下限,主要是找到目标值后并不用立即跳出循环,而是继续让它执行,直到左右指针重合;然后就找到了该值的范围代码:class Solution { public int[] searchRange(int[] nums, int target) { int原创 2021-11-05 15:49:42 · 889 阅读 · 0 评论 -
LeetCode74题搜索二维矩阵
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户链接:https://leetcode-cn.com/problems/search-a-2d-matrix思路:先从矩阵的第一列开始,用一次二分查找,如果第一次行的mid值所对应的元素大于或小于要搜索的值,再对该行的所有列进行二分查找,如果找到返回true,没再该行找原创 2021-11-05 15:40:00 · 83 阅读 · 0 评论 -
LeetCode第7题(整数反转)
题目描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。链接:https://leetcode-cn.com/problems/reverse-integerint类型取值范围 -2的31次方到2的31次方-1;思路:每次从末位开始取,乘10与剩下的每位依次相加,需要考虑反转后会int类型会溢出的问题,所以增加了一个条件原创 2021-11-04 14:30:13 · 880 阅读 · 0 评论 -
LeetCode14题(最长公共前缀和)
题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”题目链接:https://leetcode-cn.com/problems/longest-common-prefix/思路:依次扫描第一个字符串的字符,然后循环扫描剩下字符串的的相同位置字符,如果剩下字符串前面都匹配,即全部扫描完或者(相同位置上)扫描到不一样的字符就提前结束,否则就返回第一个字符串;i原创 2021-11-01 11:13:34 · 392 阅读 · 0 评论 -
LeetCode575题(分糖果)
题目描述:给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。链接:https://leetcode-cn.com/problems/distribute-candies思路:1、妹妹和弟弟糖果数要一样,即数组长度的一半2、糖果种类数不可能超过糖果数,即最大糖果种类数只能是糖果数3、妹妹获得的糖果种类最多用哈希表统计糖果种类,计算出糖果种类数和糖果总数的一半,返回两个中的最小值cla原创 2021-11-01 11:06:10 · 392 阅读 · 0 评论 -
LeetCode66题(加一)
题目描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。题目链接:https://leetcode-cn.com/problems/plus-one/执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户内存消耗:36.5 MB, 在所有 Java 提交中击败了98.28%的用户思路:一开始想的是先把数组里面的数算出来一个整数,加1后再进行原创 2021-11-01 00:19:41 · 83 阅读 · 0 评论 -
LeetCode58题(最后一个单词的长度)
LeetCode 58题 最后一个单词的长度链接:https://leetcode-cn.com/problems/length-of-last-word/submissions/给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。执行用时0ms,使用内存36.3MB思路:定义一个指向字符串后面的指针,和两个作为标志的变量(一个标志是否出现了第一个字符不是空格的,另一个标志表示在出现了第一个字.原创 2021-10-30 10:44:31 · 91 阅读 · 0 评论 -
LeetCode695题求最大岛屿面积(DFS深度优先算法)
求最大岛屿面积 No.695题目描述:给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-a原创 2021-10-23 14:07:44 · 406 阅读 · 0 评论