Leetcode
文章平均质量分 68
记录我自己刷题过程和总结。
Ekine
这个作者很懒,什么都没留下…
展开
-
java面试:健壮的斐波那契数列
最近面试某家,给我最后出了一道题,可能看我前面的没有回答上来,所以给我出了一个菲波那切数列,看着不难。要求:1、一种方法要用递归来写。2、一种方法用循环来写。3、代码要求健壮性。网上递归和循环其实都有。很多都能搜得到。但是测试的时候,人家给我输入了个1000,我得递归超时了。我自己尝试用循环,就dp动态规划那样的,还是超出了数的界限,1000想想得多么大啊。今早搜了一下,当数字特别大的时候,int,long都不能存下的时候,就需要其它的方法了。这里用到了 数学中的BigInteger类,这原创 2021-08-20 14:36:28 · 196 阅读 · 0 评论 -
在字符串尾部插入字符,让字符串变成回文。(java)
这道题是最近做美团的一道题,网上可以搜到答案。回忆一下这道题:给定一个字符串,在这个字符串后添加多少个字符(添加最少个字符)就可以构成回文。返回添加的长度。我自己写个案例大家看一下。输入:abcdac输出:5解释:需要加上 adcba 这样编程 abcda c adcba 加了空格,能看出是回文就好。网上也有答案:答案1:import java.util.Scanner; public class Main { public static void main(String原创 2021-08-16 11:01:12 · 1733 阅读 · 0 评论 -
20210810力扣回溯法部分整理(java)
前言之前做过的题,现在回看的时候又不会做了,所以我又重新看了看回溯法,又看了一下代码随想录的视频讲解。将他的视频笔记写在这里。# 回溯算法回溯 <---->递归1.递归的下面就是回溯的过程2.回溯法是一个 纯暴力的 搜索3.回溯法解决的问题: 3.1组合 如:1234 两两组合 3.2切割问题 如:一个字符串有多少个切割方式 ,或者切割出来是回文 3.3子集 : 1 2 3 4 的子集 3.4排列问题(顺序) 3.5棋盘问题:n皇后 解数独4原创 2021-08-10 22:06:30 · 292 阅读 · 0 评论 -
2021-08-09力扣刷题 丑数总结(java)
前言之前就听同学说过,笔试的时候有写过丑数,我当时都不知道丑数是什么,因此对这个名词印象很深,今天在做每日一题的时候,就遇到了丑数,我都不知道这是什么,就在题库中把丑数都搜了一遍,做了,然后晚上的时候想总结一下。但是今天的leetcode服务器崩了好像,一直进不去leetcode网站,我在手机上找到题目,写下来,现在网站有问题打不开,所以这些没测试了,只能看看我今天有没有掌握学到的思想吧。文章目录前言力扣第263题力扣第264题力扣第1201题剑指offer丑数力扣第313题:超级丑数总结力扣第原创 2021-08-09 22:33:54 · 194 阅读 · 0 评论 -
20210805力扣字符串类题做题汇总
文章目录每日一题611:判断是否是三角形力扣第802题:找到最终的安全状态(重)力扣第443题:压缩字符串力扣第8题:字符串转整数力扣第13题:罗马数字转整数力扣第12题:整数转罗马数字总结每日一题611:判断是否是三角形我的固有印象就是使用暴力去解,然后就超时了,然后对这个数组排序后重新计算,算是通过了,但是用的时间太长了。class Solution { public int triangleNumber(int[] nums) { int n = nums.lengt原创 2021-08-06 09:01:44 · 201 阅读 · 0 评论 -
20210804力扣字符串类题(java)
文章目录力扣第696题:计数二进制子串力扣第467题:环绕字符串中唯一的子字符串力扣第535题:TinyURL 的加密与解密一、pandas是什么?二、使用步骤1.引入库2.读入数据总结力扣第696题:计数二进制子串这道题是读懂了,但是怎么做却不会,看了答案,找到他们的每个连续的0和1,把相邻的小的数加起来就行。果然很简单了,但是自己在写相邻时候的计数,还会写错,不应该。class Solution { public int countBinarySubstrings(String s)原创 2021-08-05 09:22:09 · 275 阅读 · 0 评论 -
20210803Leetcode做题整理(java)
文章目录力扣第581题力扣第451题:根据字符出现频率排序力扣第423题:从英文中重建数字力扣第657题:机器人能否返回原点力扣第551题:学生出勤记录总结力扣第581题大一看,不知如何下手,然后再仔细想,想着复制一个数组,对这个数组排序,然后比较两个数组,定义一个left,一个right,找到不一样的值就停下来,最后找到left和right,相减就行了。class Solution { public int findUnsortedSubarray(int[] nums) {原创 2021-08-03 19:01:38 · 139 阅读 · 0 评论 -
20210723字符串类相关题目2(java)
文章目录力扣第541题:反转字符串力扣第557题:反转字符串中的单词力扣第151:翻转字符串里的单词力扣第387题:字符串中的第一个唯一字符力扣389题:找不同力扣第383题:赎金信力扣第242:有效的字母异词力扣第49题:字母异位词分组总结力扣第541题:反转字符串这道题看着简单,但是自己写就遍历的时候出现了问题,想着先把长度分为2k等份或者k等份,但是都没成功,分完之后又需要写一个循环,重新reverse,哎这什么破想法,后来看了题解,题解的思路真是强大,循环i以2k自加,然后再找到需要反转的数原创 2021-07-23 19:15:13 · 214 阅读 · 1 评论 -
20210721力扣字符串类相关题目(一java)
文章目录力扣第520题:检测大写字母力扣第125题 :验证回文串力扣14题:最长公共前缀力扣第434题:字符串中的单词数力扣第58题:最后一个单词的长度力扣344题:反转字符串一、pandas是什么?二、使用步骤1.引入库2.读入数据总结力扣第520题:检测大写字母直接统计大写字母的个数就好了。class Solution { public boolean detectCapitalUse(String word) { char cs[] = word.toCharArra原创 2021-07-23 10:48:40 · 270 阅读 · 0 评论 -
20210721面试问到的两道经典数组题(java)
这是舍友在面试京东时候让写的两道题目,经典的剑指offer上的,是用位运算解决的,而我对位运算不熟悉,借此机会,正好练习。文章目录题目1描述题目2描述基础知识复习题1编码题目2编码总结题目1描述给一个数组,有1个数字只出现了一次,其它数字都出现了两次,找出这两个出现一次的数字。题目2描述给一个数组,有两个数字出现了1次,其他数字都出现了2次,找出这两个出现两次的数字。基础知识复习记住位运算符号呀^:异或符号 相同的为0 不同的为1&:与符号 这些都是通过二进制来计算原创 2021-07-21 21:09:48 · 77 阅读 · 0 评论 -
20210720leetcode数组类相关题目
文章目录力扣1877题:数组中最大数对的最小和力扣第396题:旋转函数力扣第54题:螺旋矩阵力扣第59题:螺旋矩阵II力扣第498题:对角线遍历力扣第556题:重塑矩阵力扣第48题:旋转图像力扣第73题:矩阵置0力扣第289题:生命游戏力扣第303题剑指offer52力扣304题:二维区域和检索 - 矩阵不可变力扣第238题:除自身以外数组的乘积总结力扣1877题:数组中最大数对的最小和自己开始想法class Solution { public int minPairSum(int[] n原创 2021-07-21 16:00:23 · 173 阅读 · 1 评论 -
20210719力扣第189题:旋转数组(java)
题目给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2原创 2021-07-19 20:45:38 · 289 阅读 · 0 评论 -
20210719力扣第419题:甲板上的战舰(java)
题目给定一个二维的甲板, 请计算其中有多少艘战舰。 战舰用 'X’表示,空位用 '.'表示。 你需要遵守以下规则:给你一个有效的甲板,仅由战舰或者空位组成。战舰只能水平或者垂直放置。换句话说,战舰只能由 1xN (1 行, N 列)组成,或者 Nx1 (N 行, 1 列)组成,其中N可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 - 即没有相邻的战舰。示例 :X..X...X...X在上面的甲板中有2艘战舰。无效样例 :...XXXXX...X你不会收到这样的无原创 2021-07-19 18:45:09 · 241 阅读 · 0 评论 -
20210719范围求和(java)
题目给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。示例 1:输入: m = 3, n = 3operations = [[2,2],[3,3]]输出: 4解释: 初始状态原创 2021-07-19 17:04:52 · 217 阅读 · 0 评论 -
20210719力扣第1838题:最高频数的元素(java)
题目元素的 频数 是该元素在一个数组中出现的次数。给你一个整数数组 nums 和一个整数 k 。在一步操作中,你可以选择 nums 的一个下标,并将该下标对应元素的值增加 1 。执行最多 k 次操作后,返回数组中最高频元素的 最大可能频数 。示例 1:输入:nums = [1,2,4], k = 5输出:3解释:对第一个元素执行 3 次递增操作,对第二个元素执 2 次递增操作,此时 nums = [4,4,4] 。4 是数组中最高频元素,频数是 3 。示例 2:输入:nums = [原创 2021-07-19 16:06:17 · 270 阅读 · 0 评论 -
20210719力扣面试题10.02.变为词组(java)
题目编写一种方法,对字符串数组进行排序,将所有变位词组合在一起。变位词是指字母相同,但排列不同的字符串。注意:本题相对原题稍作修改示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob原创 2021-07-19 10:30:58 · 142 阅读 · 0 评论 -
20210716力扣第661题:图片平滑器(java)
题目包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。示例 1:输入:[[1,1,1], [1,0,1], [1,1,1]]输出:[[0, 0, 0], [0, 0, 0], [0, 0, 0]]解释:对于点 (0,0), (0,2), (2,0), (2,2): 平均(3/4) = 平均(0.75) = 0对于点 (0原创 2021-07-16 15:21:14 · 130 阅读 · 0 评论 -
20210716力扣119题:杨辉三角II(java)
系列文章目录给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?来源:力扣(LeetCode)链接:https文章目录系列文章目录想法总结想法想直接用上一个题118题的方法,想想算了,自己写吧,但是写出来 感觉就是差了点,因为存在第0行。class Solution { public List<Integer原创 2021-07-16 11:07:16 · 247 阅读 · 1 评论 -
20210716剑指offer53:在排序数组中查找数字I(java)
题目统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <= 50000来源:力扣(LeetCode)链接:https文章目录题目代码总结代码我直接遍历一下就输出,这个只超过了20%。太简单了,就不附代码了。看了评论才知道,需要用到的是二分法啊。class Solut原创 2021-07-16 10:16:46 · 75 阅读 · 0 评论 -
20210715力扣第118题:杨辉三角(java)
题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]文章目录题目想法总结想法一看到只记得以前c语言做过,现在有点忘了,百度了下,原来是二维数组,记得一点,看了答案。class Solution { public List<List<Integer>> generate原创 2021-07-15 15:02:33 · 292 阅读 · 0 评论 -
20210715力扣第283题:移动0
题目给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。文章目录题目想法总结想法一开始想着直接交换0,但是还是有些问题。后来给0加计数器。class Solution { public void moveZeroes(int[] nums) { int n = nums.len原创 2021-07-15 11:18:08 · 123 阅读 · 0 评论 -
20210715:力扣第1846题:减小和重新排列组合后的最大元素(java)
题目给你一个正整数数组 arr 。请你对 arr 执行一些操作(也可以不进行任何操作),使得数组满足以下条件:arr 中 第一个 元素必须为 1 。任意相邻两个元素的差的绝对值 小于等于 1 ,也就是说,对于任意的 1 <= i < arr.length (数组下标从 0 开始),都满足 abs(arr[i] - arr[i - 1]) <= 1 。abs(x) 为 x 的绝对值。你可以执行以下 2 种操作任意次:减小 arr 中任意元素的值,使其变为一个 更小的正整数 。重新原创 2021-07-15 09:59:57 · 166 阅读 · 0 评论 -
20210713力扣第665题:非递减数列(java)
题目给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,1]输出: false解释: 你不能在只改变一个元素原创 2021-07-13 14:14:33 · 155 阅读 · 0 评论 -
20210713力扣第453题:最小操作次数使元素相等(java)
题目给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1。找出让数组所有元素相等的最小操作次数。示例:输入:[1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-moves-to-equal-array-原创 2021-07-13 11:13:57 · 449 阅读 · 0 评论 -
20210713力扣第274题:H指数(java)
题目给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 N - h 篇论文每篇被引用次数 不超过 h 次。例如:某人的 h 指数是 20,这表示他已发表的论文中,每篇被引用了至少 20 次的论文总共有 20 篇。示例:输入:citations = [3,0,6,1,5]原创 2021-07-13 10:38:13 · 383 阅读 · 0 评论 -
20210712力扣第268题:丢失的数字(java)
题目给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 3:原创 2021-07-12 20:24:37 · 190 阅读 · 0 评论 -
20210712力扣第41题:缺失的第一个正数
题目给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。、示例 1:输入:nums = [1,2,0]输出:3示例 2:输入:nums = [3,4,-1,1]输出:2示例 3:输入:nums = [7,8,9,11,12]输出:1 提示:1 <= nums.length <= 5 * 105-231 <= nums[i] <= 231 - 1来原创 2021-07-12 19:37:29 · 388 阅读 · 1 评论 -
20210712力扣第442题(java):数组中的重复数据
题目给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]文章目录题目想法其它想法总结想法根据之前数组中的度的题目697题已经知道使用Map既可以存储数,也可以存储次数,所以就想到了使用Map来做。很快啊,就做出来了;class Solution { publ原创 2021-07-12 15:57:52 · 347 阅读 · 1 评论 -
20210712力扣第448题:找到所有数组中消失的数字(java)
题目给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[5,6]示例 2:输入:nums = [1,1]输出:[2] 提示:n == nums.length1 <= n <= 1051 <= nums[i] <= n进阶:你能在不使用额外空间且时间复原创 2021-07-12 15:15:35 · 458 阅读 · 1 评论 -
20210708力扣第697题:数组的度(java)
题目给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2, 2, 3], [2, 2]原创 2021-07-12 10:50:24 · 141 阅读 · 0 评论 -
20210709力扣第4题:寻找两个正序数组的中位数
题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0,0]原创 2021-07-09 11:33:39 · 179 阅读 · 0 评论 -
20210708力扣第645题:错误的集合(java)
题目集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入:nums = [1,2,2,4]输出:[2,3]示例 2:输入:nums = [1,1]输出:[1,2] 提示:2 <= nums.length <=原创 2021-07-08 14:29:23 · 117 阅读 · 0 评论 -
20210708力扣第628题:三个数的最大乘积
题目给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入:nums = [1,2,3]输出:6示例 2:输入:nums = [1,2,3,4]输出:24示例 3:输入:nums = [-1,-2,-3]输出:-6 提示:3 <= nums.length <= 104-1000 <= nums[i] <= 1000来源:力扣(LeetCode)链接:https://leetcode-cn.com/p原创 2021-07-08 11:19:40 · 150 阅读 · 1 评论 -
20210708力扣第414题:第三大数(java)
题目给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。示例 1:输入:[3, 2, 1]输出:1解释:第三大的数是 1 。示例 2:输入:[1, 2]输出:2解释:第三大的数不存在, 所以返回最大的数 2 。示例 3:输入:[2, 2, 3, 1]输出:1解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1 。提示:1 <= nums.le原创 2021-07-08 10:17:07 · 363 阅读 · 0 评论 -
20210706力扣第485题:最大连续1的个数(java)
题目给定一个二进制数组, 计算其中最大连续 1 的个数。示例:输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.提示:输入的数组只包含 0 和 1 。输入数组的长度是正整数,且不超过 10,000。文章目录题目分析总结分析最近 做的是动态规划和回溯法的问题,想做点轻松一点的题,就看了下目录,开始做数组的相关题目。本题一看是个简单题目就开始上手,大致一看题就是找连续的数字嘛 ,不难,没想到提交一次错一次,仔细读题,发现是原创 2021-07-06 15:26:56 · 250 阅读 · 0 评论 -
20210706力扣第494题:目标和(java)
题目给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 ‘+’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1” 。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。示例 1:输入:nums = [1,1,1,1,1], target = 3输出:5解释:一共有 5 种方法让最终目标和为 3原创 2021-07-06 14:39:51 · 405 阅读 · 0 评论 -
20210705力扣第474题:一和零(java)
题目给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。示例 1:输入:strs = ["10", "0001", "111001", "1", "0"], m = 5, n = 3输出:4解释:最多有 5 个 0 和 3 个 1 的最大子集是 {"10","0001","1","0"} ,因此答案是 4 。其他满足原创 2021-07-05 14:40:41 · 186 阅读 · 0 评论 -
20210702力扣第518题:零钱兑换2
题目给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。假设每一种面额的硬币有无限个。题目数据保证结果符合 32 位带符号整数。示例 1:输入:amount = 5, coins = [1, 2, 5]输出:4解释:有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入:amount = 3, coins原创 2021-07-02 15:24:15 · 511 阅读 · 0 评论 -
20210702力扣第322题:零钱兑换(java)
题目给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3 解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1], amount = 0输出:0示例 4:输原创 2021-07-02 14:06:57 · 1102 阅读 · 1 评论 -
20210629力扣第60题:排列序列(java)
题目给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。示例 1:输入:n = 3, k = 3输出:"213"示例 2:输入:n = 4, k = 9输出:"2314"示例 3:输入:n = 3, k = 1输出:"123" 提示:1 <= n <= 91原创 2021-06-29 14:57:49 · 407 阅读 · 0 评论