力扣 Java
文章平均质量分 76
该栏记录了博主的刷题历程,每道题都提供了相应的解决方案及实现思想,持续更新中。
准Java全栈开发工程师
希望我们都能不忘初心,捍卫自己的梦想,直到世界对我们缴械投降,下一次,我们世界精彩处见。
展开
-
【力扣 Java】383. 赎金信
赎金信题目描述示例演示示例一示例二示例三示例四算法思想算法代码题目描述两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。注意:只要字符数够就行,不需要是连续的。示例演示示例一输入:ransomNote = “a”, magazine = “b”输出:false示例二输入原创 2022-05-16 20:01:49 · 251 阅读 · 0 评论 -
【力扣 Java】387. 字符串中的第一个唯一字符
字符串中的第一个唯一字符题目描述示例演示示例一示例二示例三算法思想算法代码题目描述一个字符串 s ,找到它的第一个不重复的字符(在字符串中只出现一次的字符),并返回它的索引 。如果不存在,则返回 -1 。示例演示示例一输入: s = “leetcode”输出: 0示例二输入: s = “loveleetcode”输出: 2示例三输入: s = “aabb”输出: -1算法思想首先统计出字符串中每个字符出现的次数,然后返回第一个出现次数为 1 的字符索引。博主调原创 2022-05-16 19:12:18 · 271 阅读 · 0 评论 -
【力扣 Java】118. 杨辉三角
杨辉三角题目描述示例演示示例一示例二算法思想算法代码方式一:返回List方式二:返回int型二维数组题目描述一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。「杨辉三角」中,每个数是它左上方和右上方的数的和。示例演示示例一输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例二输入: numRows = 1输出: [[1]]算法思想杨辉三角第 i 行具有第 i 个元素,头和尾的原创 2022-05-15 20:37:54 · 215 阅读 · 1 评论 -
【力扣 Java】566. 重塑矩阵
重塑矩阵题目描述示例演示示例一示例二算法思想算法代码题目描述在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例原创 2022-05-15 19:28:11 · 185 阅读 · 1 评论 -
【力扣 Java】121. 买卖股票的最佳时机
买卖股票的最佳时机题目描述示例演示示例一示例二算法思想算法代码题目描述一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计算法:计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果不能获取任何利润,返回 0 。示例演示示例一输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格原创 2022-05-14 21:18:53 · 262 阅读 · 0 评论 -
【力扣 Java】350. 两个数组的交集 II
两个数组的交集题目描述实例演示示例一示例二算法思想算法代码题目描述两个整数数组 nums1 和 nums2要求:以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。实例演示示例一输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例二输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]算原创 2022-05-14 19:03:14 · 184 阅读 · 1 评论 -
【力扣 Java】88. 合并两个有序数组
合并两个有序数组题目描述示例演示示例一示例二示例三算法思想算法代码题目描述两个按非递减顺序排列的整数数组 nums1 和 nums2。nums1 数组元素个数 m 个;nums2 数组元素个数 n 个。要求:合并 nums2 到 nums1 中,使合并后的数组按非递减顺序排列。非递减顺序:整体呈现递增趋势,但是允许存在数值相等的元素,并不是严格递增。注意:合并后数组不应由函数返回,而是存储在数组 nums1 中。nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,原创 2022-05-13 21:25:01 · 331 阅读 · 0 评论 -
【力扣 Java】1. 两数之和
两数之和题目描述题目分析示例演示示例一示例二示例三算法思想算法代码代码解释题目描述一个整数数组 nums 和一个整数目标值 target。在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。假设每种输入只会对应一个答案。数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。题目分析题目描述太多了,不想看?一句话概况问题。nums[i] + nums[j] = target ,i ≠ j示例演示示例一输入:nums = [2,7,11,15],原创 2022-05-13 20:38:02 · 199 阅读 · 0 评论 -
【力扣 Java】53. 最大子数组和
力扣算法 - 最大子数组和题目描述示例演示示例一示例二示例三算法代码实现思想代码解释题目描述一个整数数组 nums 。找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例演示示例一输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例二输入:nums = [1]输出:1示例三输入:nums = [5,4,-1,7,8]输出:23原创 2022-05-12 01:17:52 · 296 阅读 · 0 评论 -
【力扣 Java】217. 存在重复元素
力扣算法 - 存在重复元素题目描述示例示例一示例二示例三代码实现实现思想虽然本科期间学习过数据结构和算法设计课程,但是手写算法对我来说一直是我最惧怕的事情,今天终于鼓起勇气开始了算法的刷题历程。未来还长,请继续努力!题目描述一个整数数组 nums 。如果任一值在数组中出现了至少两次,返回 true 。如果数组中每个元素互不相同,返回 false 。示例示例一输入:nums = [1,2,3,1]输出:true示例二输入:nums = [1,2,3,4]输出:false示原创 2022-05-12 00:41:23 · 170 阅读 · 0 评论