![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode每日一题
卍暴力出奇迹卍
这个作者很懒,什么都没留下…
展开
-
2022-09-22力扣每日一题
思路:一道比较有趣的模拟题,可以考虑定义一个临时数组,然后按顺序拿arr中的元素与pieces中的每一行起始元素作比较,注意pieces[i]的顺序无法改变,所以一旦匹配到第一个元素,就把整个pieces[i]复制到临时数组,退出循环后再将临时数组与arr比较,对上了就返回true,否则就返回false。输入:arr = [91,4,64,78], pieces = [[78],[4,64],[91]]输入:arr = [15,88], pieces = [[88],[15]]arr 中的整数 互不相同。原创 2022-09-22 14:54:59 · 210 阅读 · 0 评论 -
2022-09-21力扣每日一题
思路:可以用深搜回溯暴力递归,具体就是比较两个字串的每个位置,一旦发现某个位置不一样就开启深搜交换,找到一样的位置进行交换,然后再进入下一层比较下一个位置,一旦发现当前交换次数已经比之前的最小交换次数大,就剪枝,抛弃当前搜索路径,直到最后无法再交换,然后回溯,返回值是比较后较小的交换次数。s1 和 s2 只包含集合 {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’} 中的小写字母。输入:s1 = “abc”, s2 = “bca”输入:s1 = “ab”, s2 = “ba”原创 2022-09-21 12:00:56 · 133 阅读 · 0 评论 -
2022-09-20力扣每日一题
一种做法是遍历数组内所有元素,得到划分的目标值,将元素依次放入k个子集,使得每个子集元素和等于目标值,整个过程就是遍历到当前元素,看具体放入哪个子集,如果没有溢出就继续往下,否则就回溯,直到遍历完最后的元素,也就是所有元素都已经放到子集里面了,就返回true,如果哪个子集都没法放就返回false,但这个过程会超时,需要优化,优化的点就是先对数组做个降序,优先让大的值先选择子集,还有就是剪枝,一旦发现放当前元素到子集i和上一个子集i-1的结果一样就直接剪枝。每个元素的频率在 [1,4] 范围内。原创 2022-09-20 16:53:34 · 110 阅读 · 0 评论 -
2022-9-13力扣每日一题
670. 最大交换给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。示例 1 :输入: 2736输出: 7236解释: 交换数字2和数字7。示例 2 :输入: 9973输出: 9973解释: 不需要交换。注意:给定数字的范围是 [0, 10^8^]原创 2022-09-13 11:52:57 · 86 阅读 · 0 评论 -
2022-06-01每日一题
如果你能使这个正方形,则返回 true ,否则返回 false 。示例 1:输入: matchsticks = [1,1,2,2,2]输出: true解释: 能拼成一个边长为2的正方形,每边两根火柴。示例 2:输入: matchsticks = [3,3,3,3,4]输出: false解释: 不能用所有火柴拼成一个正方形。提示:1原创 2022-06-02 00:33:00 · 73 阅读 · 0 评论 -
2022-05-30每日一题
1022. 从根到叶的二进制数之和给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。返回这些数字之和。题目数据保证答案是一个 32 位 整数。示例 1:输入:root = [1,0,1,0,1,0,1]输出:22解释:(100) + (原创 2022-05-30 16:47:12 · 66 阅读 · 0 评论 -
2022-05-29每日一题
468. 验证IP地址给定一个字符串 queryIP。如果是有效的 IPv4 地址,返回 “IPv4” ;如果是有效的 IPv6 地址,返回 “IPv6” ;如果不是上述类型的 IP 地址,返回 “Neither” 。有效的IPv4地址 是 “x1.x2.x3.x4” 形式的IP地址。 其中 0 <= xi <= 255 且 xi 不能包含 前导零。例如: “192.168.1.1” 、 “192.168.1.0” 为有效IPv4地址, “192.168.01.1” 为无效IPv4地址; “原创 2022-05-29 18:00:02 · 200 阅读 · 0 评论 -
2022-05-28每日一题
1021. 删除最外层的括号有效括号字符串为空 “”、“(” + A + “)” 或 A + B ,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。例如,“”,“()”,“(())()” 和 “(()(()))” 都是有效的括号字符串。如果有效字符串 s 非空,且不存在将其拆分为 s = A + B 的方法,我们称其为原语(primitive),其中 A 和 B 都是非空有效括号字符串。给出一个非空有效字符串 s,考虑将其进行原语化分解,使得:s = P_1 + P_2 + … + P原创 2022-05-28 22:07:47 · 71 阅读 · 0 评论 -
2022-05-27每日一题
面试题 17.11. 单词距离有个内含单词的超大文本文件,给定任意两个不同的单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗?示例:输入:words = [“I”,“am”,“a”,“student”,“from”,“a”,“university”,“in”,“a”,“city”], word1 = “a”, word2 = “student”输出:1提示:words.length <= 100000思路:原创 2022-05-27 23:24:08 · 138 阅读 · 0 评论 -
2022-05-26每日一题
699. 掉落的方块在二维平面上的 x 轴上,放置着一些方块。给你一个二维整数数组 positions ,其中 positions[i] = [lefti, sideLengthi] 表示:第 i 个方块边长为 sideLengthi ,其左侧边与 x 轴上坐标点 lefti 对齐。每个方块都从一个比目前所有的落地方块更高的高度掉落而下。方块沿 y 轴负方向下落,直到着陆到 另一个正方形的顶边 或者是 x 轴上 。一个方块仅仅是擦过另一个方块的左侧边或右侧边不算着陆。一旦着陆,它就会固定在原地,无法移原创 2022-05-26 23:11:28 · 122 阅读 · 0 评论 -
2022-05-25每日一题
467. 环绕字符串中唯一的子字符串把字符串 s 看作是 “abcdefghijklmnopqrstuvwxyz” 的无限环绕字符串,所以 s 看起来是这样的:“…zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd…” .现在给定另一个字符串 p 。返回 s 中 唯一 的 p 的 非空子串 的数量 。示例 1:输入: p = “a”输出: 1解释: 字符串 s 中只有一个"a"子字符。示例 2:输入: p = “cac”输出原创 2022-05-25 17:56:23 · 78 阅读 · 0 评论 -
2022-05-24每日一题
965. 单值二叉树如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是 [1, 100]。每个节点的值都是整数,范围为 [0, 99] 。思路:水题,只需要简单的遍历判断一下即可,这里我用了经典的BFS层序遍历/** * Definition for a原创 2022-05-24 17:00:16 · 47 阅读 · 0 评论 -
2022-05-23每日一题
675. 为高尔夫比赛砍树你被请来给一个要举办高尔夫比赛的树林砍树。树林由一个 m x n 的矩阵表示, 在这个矩阵中:0 表示障碍,无法触碰1 表示地面,可以行走比 1 大的数 表示有树的单元格,可以行走,数值表示树的高度每一步,你都可以向上、下、左、右四个方向之一移动一个单位,如果你站的地方有一棵树,那么你可以决定是否要砍倒它。你需要按照树的高度从低向高砍掉所有的树,每砍过一颗树,该单元格的值变为 1(即变为地面)。你将从 (0, 0) 点开始工作,返回你砍完所有树需要走的最小步数。 如果原创 2022-05-23 20:35:47 · 155 阅读 · 0 评论 -
2022-05-22每日一题
464. 我能赢吗在 “100 game” 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和 达到或超过 100 的玩家,即为胜者。如果我们将游戏规则改为 “玩家 不能 重复使用整数” 呢?例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计整数和 >= 100。给定两个整数 maxChoosableInteger (整数池中可选择的最大数)和 desiredTotal(累计和),若先出手的玩家是否能稳赢则返回 true原创 2022-05-22 19:15:54 · 106 阅读 · 0 评论 -
2022-05-21每日一题
961. 在长度 2N 的数组中找出重复 N 次的元素给你一个整数数组 nums ,该数组具有以下属性:nums.length == 2 * n.nums 包含 n + 1 个 不同的 元素nums 中恰有一个元素重复 n 次找出并返回重复了 n 次的那个元素。示例 1:输入:nums = [1,2,3,3]输出:3示例 2:输入:nums = [2,1,2,5,3,2]输出:2示例 3:输入:nums = [5,1,5,2,5,3,5,4]输出:5提示:2 <= n原创 2022-05-21 21:52:00 · 94 阅读 · 0 评论 -
2022-05-20每日一题
436. 寻找右区间给你一个区间数组 intervals ,其中 intervals[i] = [starti, endi] ,且每个 starti 都 不同 。区间 i 的 右侧区间 可以记作区间 j ,并满足 startj >= endi ,且 startj 最小化 。返回一个由每个区间 i 的 右侧区间 的最小起始位置组成的数组。如果某个区间 i 不存在对应的 右侧区间 ,则下标 i 处的值设为 -1 。示例 1:输入:intervals = [[1,2]]输出:[-1]解释:集合原创 2022-05-20 19:32:52 · 59 阅读 · 0 评论 -
2022-05-19每日一题
462. 最少移动次数使数组元素相等 II给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最少移动数。在一步操作中,你可以使数组中的一个元素加 1 或者减 1 。示例 1:输入:nums = [1,2,3]输出:2解释:只需要两步操作(每步操作指南使一个元素加 1 或减 1):[1,2,3] => [2,2,3] => [2,2,2]示例 2:输入:nums = [1,10,2,9]输出:16提示:n == nums.length1 &原创 2022-05-19 17:09:48 · 114 阅读 · 0 评论 -
2022-05-18每日一题
668. 乘法表中第k小的数几乎每一个人都用 乘法表。但是你能在乘法表中快速找到第k小的数字吗?给定高度m 、宽度n 的一张 m * n的乘法表,以及正整数k,你需要返回表中第k 小的数字。例 1:输入: m = 3, n = 3, k = 5输出: 3解释:乘法表:1 2 32 4 63 6 9第5小的数字是 3 (1, 2, 2, 3, 3).例 2:输入: m = 2, n = 3, k = 6输出: 6解释:乘法表:1 2 32 4 6第6小的数字是 6 (1,原创 2022-05-18 17:23:08 · 72 阅读 · 0 评论 -
2022-05-17每日一题
953. 验证外星语词典某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。示例 1:输入:words = [“hello”,“leetcode”], order = “hlabcdefgijkmnopqrstuvwxyz”输出:true解释:在该语言的字母表中,‘h’ 位于 ‘l’原创 2022-05-17 17:13:27 · 110 阅读 · 0 评论 -
2022-05-15每日一题
812. 最大三角形面积给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释:这五个点如下图所示。组成的橙色三角形是最大的,面积为2。注意:3 <= points.length <= 50.不存在重复的点。-50 <= points[i][j] <= 50.结果误差值在 10^-6 以内都认为是正确答案。思路:看题目觉得就是单纯原创 2022-05-15 21:54:25 · 65 阅读 · 0 评论 -
2022-05-13每日一题
一次编辑字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例 1:输入:first = “pale”second = “ple”输出: True示例 2:输入:first = “pales”second = “pal”输出: False思路:可以用纯模拟的思想来实现,考虑插入、删除、替换三种情况,其中插入和删除在一定意义上可以转换,first和second相差一个字符时,交换它们,就相当于只需要考原创 2022-05-13 18:42:31 · 86 阅读 · 0 评论 -
2022-05-12每日一题
944. 删列造序给你由 n 个小写字母字符串组成的数组 strs,其中每个字符串长度相等。这些字符串可以每个一行,排成一个网格。例如,strs = [“abc”, “bce”, “cae”] 可以排列为:abcbcecae你需要找出并删除 不是按字典序升序排列的 列。在上面的例子(下标从 0 开始)中,列 0(‘a’, ‘b’, ‘c’)和列 2(‘c’, ‘e’, ‘e’)都是按升序排列的,而列 1(‘b’, ‘c’, ‘a’)不是,所以要删除列 1 。返回你需要删除的列数。示例 1:原创 2022-05-12 21:06:20 · 62 阅读 · 0 评论 -
原地修改数组实现哈希技巧
442. 数组中重复的数据给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问题。示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[2,3]示例 2:输入:nums = [1,1,2]输出:[1]示例 3:输入:nums = [1]输出:[]提示:n ==原创 2022-05-10 16:04:17 · 174 阅读 · 0 评论 -
2022-05-07每日一题
433. 最小基因变化基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是 ‘A’、‘C’、‘G’ 和 ‘T’ 之一。假设我们需要调查从基因序列 start 变为 end 所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化。例如,“AACCGGTT” --> “AACCGGTA” 就是一次基因变化。另有一个基因库 bank 记录了所有有效的基因变化,只有基因库中的基因才是有效的基因序列。给你两个基因序列 start 和 end ,以及一个基因库 bank原创 2022-05-07 22:36:11 · 253 阅读 · 0 评论 -
2022-05-06每日一题
933. 最近的请求次数写一个 RecentCounter 类来计算特定时间范围内最近的请求。请你实现 RecentCounter 类:RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。保证 每次对 ping 的调用都使用比之前更大的 t 值。示例 1:输入:[“Re原创 2022-05-06 22:41:43 · 67 阅读 · 0 评论 -
2022-05-04每日一题
1823. 找出游戏的获胜者共有 n 名小伙伴一起做游戏。小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号。确切地说,从第 i 名小伙伴顺时针移动一位会到达第 (i+1) 名小伙伴的位置,其中 1 <= i < n ,从第 n 名小伙伴顺时针移动一位会回到第 1 名小伙伴的位置。游戏遵循如下规则:从第 1 名小伙伴所在位置 开始 。沿着顺时针方向数 k 名小伙伴,计数时需要 包含 起始时的那位小伙伴。逐个绕圈进行计数,一些小伙伴可能会被数过不止一次。你数到的最后一名小伙伴需要离开原创 2022-05-04 21:54:16 · 91 阅读 · 0 评论 -
2022-05-01每日一题
1305. 两棵二叉搜索树中的所有元素给你 root1 和 root2 这两棵二叉搜索树。请你返回一个列表,其中包含 两棵树 中的所有整数并按 升序 排序。示例 1:输入:root1 = [2,1,4], root2 = [1,0,3]输出:[0,1,1,2,3,4]示例 2:输入:root1 = [1,null,8], root2 = [8,1]输出:[1,1,8,8]提示:每棵树的节点数在 [0, 5000] 范围内-105 <= Node.val <= 105思路原创 2022-05-01 22:55:54 · 103 阅读 · 0 评论 -
2022-04-30每日一题
908. 最小差值 I给你一个整数数组 nums,和一个整数 k 。在一个操作中,您可以选择 0 <= i < nums.length 的任何索引 i 。将 nums[i] 改为 nums[i] + x ,其中 x 是一个范围为 [-k, k] 的整数。对于每个索引 i ,最多 只能 应用 一次 此操作。nums 的 分数 是 nums 中最大和最小元素的差值。在对 nums 中的每个索引最多应用一次上述操作后,返回 nums 的最低 分数 。示例 1:输入:nums = [1],原创 2022-04-30 23:42:18 · 127 阅读 · 0 评论 -
2022-04-29每日一题
427. 建立四叉树给你一个 n * n 矩阵 grid ,矩阵由若干 0 和 1 组成。请你用四叉树表示该矩阵 grid 。你需要返回能表示矩阵的 四叉树 的根结点。注意,当 isLeaf 为 False 时,你可以把 True 或者 False 赋值给节点,两种值都会被判题机制 接受 。四叉树数据结构中,每个内部节点只有四个子节点。此外,每个节点都有两个属性:val:储存叶子结点所代表的区域的值。1 对应 True,0 对应 False;isLeaf: 当这个节点是一个叶子结点时为 True原创 2022-04-29 23:51:23 · 58 阅读 · 0 评论 -
2022-04-28每日一题
905. 按奇偶排序数组给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。返回满足此条件的 任一数组 作为答案。示例 1:输入:nums = [3,1,2,4]输出:[2,4,3,1]解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。示例 2:输入:nums = [0]输出:[0]提示:1 <= nums.length <= 50000 <= nums[i] <= 5000原创 2022-04-28 22:42:08 · 139 阅读 · 0 评论 -
2022-04-27每日一题
417. 太平洋大西洋水流问题有一个 m × n 的矩形岛屿,与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界,而 “大西洋” 处于大陆的右边界和下边界。这个岛被分割成一个由若干方形单元格组成的网格。给定一个 m x n 的整数矩阵 heights,heights[r][c] 表示坐标 (r, c) 上单元格 高于海平面的高度 。岛上雨水较多,如果相邻单元格的高度 小于或等于 当前单元格的高度,雨水可以直接向北、南、东、西流向相邻单元格。水可以从海洋附近的任何单元格流入海洋。返回原创 2022-04-27 23:46:44 · 306 阅读 · 0 评论 -
2022-04-26力扣每日一题
883. 三维形体投影面积在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。现在,我们查看这些立方体在 xy 、yz 和 zx 平面上的投影。投影 就像影子,将 三维 形体映射到一个 二维 平面上。从顶部、前面和侧面看立方体时,我们会看到“影子”。返回 所有三个投影的总面积 。示例 1:输入:[[1,2],[3,4]]输出:17解释:这里有该形原创 2022-04-26 22:58:52 · 370 阅读 · 0 评论 -
2022-04-25每日一题
398. 随机数索引给你一个可能含有 重复元素 的整数数组 nums ,请你随机输出给定的目标数字 target 的索引。你可以假设给定的数字一定存在于数组中。实现 Solution 类:Solution(int[] nums) 用数组 nums 初始化对象。int pick(int target) 从 nums 中选出一个满足 nums[i] == target 的随机索引 i 。如果存在多个有效的索引,则每个索引的返回概率应当相等。示例:输入[“Solution”, “pick”, “pi原创 2022-04-25 22:42:40 · 124 阅读 · 0 评论 -
2022-04-24每日一题
868. 二进制间距给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,“1001” 中的两个 1 的距离为 3 。示例 1:输入:n = 22输出:2解释:22 的二进制是 “10110” 。在 22 的二进制表示中,有三个 1,组成两对相邻的 1 。第一对相邻的 1 中,两原创 2022-04-24 23:51:35 · 96 阅读 · 0 评论 -
2022-04-16每日一题
479. 最大回文数乘积给定一个整数 n ,返回 可表示为两个 n 位整数乘积的 最大回文整数 。因为答案可能非常大,所以返回它对 1337 取余 。示例 1:输入:n = 2输出:987解释:99 x 91 = 9009, 9009 % 1337 = 987示例 2:输入: n = 1输出: 9提示:1 <= n <= 8思路:首先定好上界和下界,通过上界拿到最大的数字,通过这个数字前半部分来循环构建回文数字,每构建一个就判断一下是否满足条件,第一个满足的就是最大的那个回原创 2022-04-16 23:13:31 · 259 阅读 · 0 评论 -
2022-04-15每日一题
385. 迷你语法分析器给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。列表中的每个元素只可能是整数或整数嵌套列表示例 1:输入:s = “324”,输出:324解释:你应该返回一个 NestedInteger 对象,其中只包含整数值 324。示例 2:输入:s = “[123,[456,[789]]]”,输出:[123,[456,[789]]]解释:返回一个 NestedInteger 对象包含一个有两个元素的嵌套列表原创 2022-04-15 23:26:38 · 152 阅读 · 0 评论 -
2022-04-13每日一题
380. O(1) 时间插入、删除和获取随机元素实现RandomizedSet 类:RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。bool remove(int val) 当元素 val 存在时,从集合中移除该项,并返回 true ;否则,返回 false 。int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集原创 2022-04-14 23:48:50 · 432 阅读 · 0 评论 -
2022-04-14每日一题
1672. 最富有客户的资产总量给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例 1:输入:accounts = [[1,2,3],[3,2,1]]输出:6解释:第 1 位客户的资产总量 = 1 + 2 + 3 = 6第 2 位客户的资产总量 =原创 2022-04-14 22:23:19 · 58 阅读 · 0 评论 -
2022-04-12每日一题
806. 写字符串需要的行数我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。现在回答两个问题:至少多少行能放下S,以及最后一行使用的宽度是多少个单位?将你的答案作为长度为2的整数列表返回。示原创 2022-04-12 23:37:07 · 61 阅读 · 0 评论 -
2022-04-11每日一题
357. 统计各位数字都不同的数字个数给你一个整数 n ,统计并返回各位数字都不同的数字 x 的个数,其中 0 <= x < 10n 。示例 1:输入:n = 2输出:91解释:答案应为除去 11、22、33、44、55、66、77、88、99 外,在 0 ≤ x < 100 范围内的所有数字。示例 2:输入:n = 0输出:1提示:0 <= n <= 8思路1:我第一种方式是暴力枚举加简单的剪枝,用一个set的去重效果,把出现相同数字的给剔除,但最后还是原创 2022-04-11 23:01:33 · 185 阅读 · 0 评论