随笔分类 -  LeetCode每日一题

摘要:重新排序得到 2 的幂 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。 如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。 示例 1: 输入:1 输出:true 示例 2: 输入:10 输出:false 看见重排列就想用DFS. 阅读全文
posted @ 2021-10-29 11:19 荣荣荣荣荣荣 阅读(55) 评论(0) 推荐(0)
摘要:删除无效的括号 给你一个由若干括号和字母组成的字符串 s ,删除最小数量的无效括号,使得输入的字符串有效。 返回所有可能的结果。答案可以按 任意顺序 返回。 示例 1: 输入:s = "()())()" 输出:["(())()","()()()"] 示例 2: 输入:s = "(a)())()" 输 阅读全文
posted @ 2021-10-27 15:34 荣荣荣荣荣荣 阅读(61) 评论(0) 推荐(0)
摘要:下一个更大元素 I 给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。 请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元 阅读全文
posted @ 2021-10-26 20:26 荣荣荣荣荣荣 阅读(43) 评论(0) 推荐(0)
摘要:加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入:digits = [1,2,3] 输出:[1,2,4] 解释:输入数组表示数字 12 阅读全文
posted @ 2021-10-21 20:35 荣荣荣荣荣荣 阅读(46) 评论(0) 推荐(0)
摘要:数字的补数 对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数。 例如,整数 5 的二进制表示是 "101" ,取反后得到 "010" ,再转回十进制表示得到补数 2 。 给你一个整数 num ,输出它的补数。 示例 1: 输入:num = 5 输出:2 阅读全文
posted @ 2021-10-18 22:38 荣荣荣荣荣荣 阅读(150) 评论(0) 推荐(0)
摘要:外观数列 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 是对 countAndSay(n-1 阅读全文
posted @ 2021-10-15 10:50 荣荣荣荣荣荣 阅读(46) 评论(0) 推荐(0)
摘要:重复的DNA序列 hash + 滑动窗口 + 位运算 所有 DNA 都由一系列缩写为 'A','C','G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 阅读全文
posted @ 2021-10-08 19:25 荣荣荣荣荣荣 阅读(145) 评论(0) 推荐(0)
摘要:字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。 阅读全文
posted @ 2021-10-07 16:54 荣荣荣荣荣荣 阅读(58) 评论(0) 推荐(0)
摘要:旅行终点站 题目很简单,主要是再熟悉一下,增强for循环,和 map 用法; 给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何 阅读全文
posted @ 2021-10-01 16:40 荣荣荣荣荣荣 阅读(37) 评论(0) 推荐(0)
摘要:3 的幂 纯纯的思维题 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3^x 示例 1: 输入:n = 27 输出:true 示例 2: 输入:n = 0 输出:false 阅读全文
posted @ 2021-09-23 21:14 荣荣荣荣荣荣 阅读(290) 评论(0) 推荐(0)
摘要:最后一个单词的长度 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = " fly me to the moon " 输出:4 反向遍历: 找到第一个字母开始计数,此时 阅读全文
posted @ 2021-09-21 23:26 荣荣荣荣荣荣 阅读(41) 评论(0) 推荐(0)
摘要:只有两个键的键盘 最初记事本上只有一个字符 'A' 。你每次可以对这个记事本进行两种操作: Copy All(复制全部):复制这个记事本中的所有字符(不允许仅复制部分字符)。 Paste(粘贴):粘贴 上一次 复制的字符。 给你一个数字 n ,你需要使用最少的操作次数,在记事本上输出 恰好 n 个  阅读全文
posted @ 2021-09-21 23:25 荣荣荣荣荣荣 阅读(79) 评论(0) 推荐(0)
摘要:Nim 游戏 你和你的朋友,两个人一起玩 Nim游戏: 桌子上有一堆石头。 你们轮流进行自己的回合,你作为先手。 每一回合,轮到的人拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。 假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以 阅读全文
posted @ 2021-09-18 11:30 荣荣荣荣荣荣 阅读(86) 评论(0) 推荐(0)
摘要:有效的数独 请你判断一个 9x9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字,空白格 阅读全文
posted @ 2021-09-17 21:30 荣荣荣荣荣荣 阅读(64) 评论(0) 推荐(0)
摘要:寻找峰值 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞ 。 你必须实现时间复杂度为 O(log n) 的算法来解决此 阅读全文
posted @ 2021-09-15 11:03 荣荣荣荣荣荣 阅读(46) 评论(0) 推荐(0)
摘要:通过删除字母匹配到字典里最长单词 给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。 示例 1: 输入:s = "abp 阅读全文
posted @ 2021-09-14 19:38 荣荣荣荣荣荣 阅读(47) 评论(0) 推荐(0)
摘要:分割平衡字符串 简单模拟 在一个 平衡字符串 中,'L' 和 'R' 字符的数量是相同的。 给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。 注意:分割得到的每个字符串都必须是平衡字符串。 返回可以通过分割得到的平衡字符串的 最大数量 。 示例 1: 输入:s = "RLRRLLRLRL 阅读全文
posted @ 2021-09-07 08:44 荣荣荣荣荣荣 阅读(67) 评论(0) 推荐(0)
摘要:用 Rand7 () 实现 Rand10 () 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。 不要使用系统的 Math.random() 方法。 示例 1: 输入: 1 输出: [7] 示例 2: 输入: 2 阅读全文
posted @ 2021-09-06 19:27 荣荣荣荣荣荣 阅读(57) 评论(0) 推荐(0)
摘要:链表中倒数第 k 个节点 数据结构题目 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 示例: 阅读全文
posted @ 2021-09-02 15:55 荣荣荣荣荣荣 阅读(58) 评论(0) 推荐(0)
摘要:比较版本号 字符串模拟题目 给你两个版本号 version1 和 version2 ,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 阅读全文
posted @ 2021-09-01 10:53 荣荣荣荣荣荣 阅读(68) 评论(0) 推荐(0)