随笔分类 -  算法

摘要:给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s = "aab"输出:[["a","a","b"],["aa","b"]]示例 2: 输入:s = "a"输出:[["a"]] 提示 阅读全文
posted @ 2022-07-15 17:57 开源遗迹 阅读(21) 评论(0) 推荐(0)
摘要:编写一个可以从 1 到 n 输出代表这个数字的字符串的程序,但是: 如果这个数字可以被 3 整除,输出 "fizz"。如果这个数字可以被 5 整除,输出 "buzz"。如果这个数字可以同时被 3 和 5 整除,输出 "fizzbuzz"。例如,当 n = 15,输出: 1, 2, fizz, 4, 阅读全文
posted @ 2022-07-15 15:43 开源遗迹 阅读(69) 评论(0) 推荐(0)
摘要:现在有两种线程,氧 oxygen 和氢 hydrogen,你的目标是组织这两种线程来产生水分子。 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。 氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。 这 阅读全文
posted @ 2022-07-15 12:52 开源遗迹 阅读(64) 评论(0) 推荐(0)
摘要:在一棵无限的二叉树上,每个节点都有两个子节点,树中的节点 逐行 依次按 “之” 字形进行标记。 如下图所示,在奇数行(即,第一行、第三行、第五行……)中,按从左到右的顺序进行标记; 而偶数行(即,第二行、第四行、第六行……)中,按从右到左的顺序进行标记。 给你树上某一个节点的标号 label,请你返 阅读全文
posted @ 2022-07-15 12:06 开源遗迹 阅读(24) 评论(0) 推荐(0)
摘要:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 输入:l1 = [2,4,3], l2 = [5,6,4]输出: 阅读全文
posted @ 2022-07-15 10:48 开源遗迹 阅读(28) 评论(0) 推荐(0)
摘要:给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() 。 示例 1: 输入:s = 阅读全文
posted @ 2022-07-15 08:59 开源遗迹 阅读(25) 评论(0) 推荐(0)
摘要:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其 阅读全文
posted @ 2022-07-15 00:12 开源遗迹 阅读(30) 评论(0) 推荐(0)
摘要:如果数组是单调递增或单调递减的,那么它是 单调 的。 如果对于所有 i <= j,nums[i] <= nums[j],那么数组 nums 是单调递增的。 如果对于所有 i <= j,nums[i]> = nums[j],那么数组 nums 是单调递减的。 当给定的数组 nums 是单调数组时返回 阅读全文
posted @ 2022-07-14 22:32 开源遗迹 阅读(34) 评论(0) 推荐(0)
摘要:给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符: 'A':Absent,缺勤'L':Late,迟到'P':Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励: 按 总出勤 计,学生缺勤('A')严 阅读全文
posted @ 2022-07-14 22:04 开源遗迹 阅读(25) 评论(0) 推荐(0)
摘要:给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 输入:root = [1,null,3,2,4,null,5,6] 输出:[1,3,5,6,2,4] 输入:root = [1,nul 阅读全文
posted @ 2022-07-14 21:02 开源遗迹 阅读(20) 评论(0) 推荐(0)
摘要:给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 输入:root = [1,null,3,2,4,null,5,6] 输出:[5,6,3,2,4,1] 输入:root = [1,nul 阅读全文
posted @ 2022-07-14 20:50 开源遗迹 阅读(22) 评论(0) 推荐(0)
摘要:给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。 示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组 阅读全文
posted @ 2022-07-14 19:54 开源遗迹 阅读(24) 评论(0) 推荐(0)
摘要:给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中: answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。answer[i] == "Fizz" 如果 i 是 3 的倍数。an 阅读全文
posted @ 2022-07-14 18:08 开源遗迹 阅读(28) 评论(0) 推荐(0)
摘要:给定一个二进制数组 nums , 计算其中最大连续 1 的个数。 示例 1: 输入:nums = [1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.示例 2: 输入:nums = [1,0,1,1,0,1]输出:2 提示: 1 <= num 阅读全文
posted @ 2022-07-14 17:52 开源遗迹 阅读(25) 评论(0) 推荐(0)
摘要:集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。 阅读全文
posted @ 2022-07-14 17:27 开源遗迹 阅读(24) 评论(0) 推荐(0)
摘要:给定二叉搜索树(BST)的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。 输入:root = [4,2,7,1,3], val = 2 输出:[2,1,3] 输入:root = [4,2, 阅读全文
posted @ 2022-07-14 16:59 开源遗迹 阅读(24) 评论(0) 推荐(0)
摘要:写一个 RecentCounter 类来计算特定时间范围内最近的请求。 请你实现 RecentCounter 类: RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫 阅读全文
posted @ 2022-07-14 16:06 开源遗迹 阅读(35) 评论(0) 推荐(0)
摘要:给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。 输入:root = [1,null,3,2,4,null,5,6] 输出:3 输入:root = [1,null,2,3,4,5, 阅读全文
posted @ 2022-07-14 15:35 开源遗迹 阅读(19) 评论(0) 推荐(0)
摘要:给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。 请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。 示例 1: 输入:salary = [4000,3000,1000,2000]输出:2500.00000解释:最低工资和最高工 阅读全文
posted @ 2022-07-14 13:12 开源遗迹 阅读(49) 评论(0) 推荐(0)
摘要:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类中实现 阅读全文
posted @ 2022-07-14 12:10 开源遗迹 阅读(26) 评论(0) 推荐(0)