随笔分类 -  算法

上一页 1 2 3 4 5 6 ··· 18 下一页
一些基础的算法实现
摘要:有两种形状的瓷砖:一种是 2x1 的多米诺形,另一种是形如 "L" 的托米诺形。两种形状都可以旋转。 XX <- 多米诺 XX <- "L" 托米诺X给定 N 的值,有多少种方法可以平铺 2 x N 的面板?返回值 mod 10^9 + 7。 (平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当 阅读全文
posted @ 2021-09-25 13:45 旺仔古李 阅读(116) 评论(0) 推荐(0)
摘要:N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手。 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起。 一次交换可选择任意两人,让他们站起来交换座位。 人和座位用 0 到 2N-1 的整数表示,情侣们按顺序编号,第一对是 (0, 1),第二对是 (2, 3),以此类推,最后一对是 (2 阅读全文
posted @ 2021-09-19 14:52 旺仔古李 阅读(47) 评论(0) 推荐(0)
摘要:一个班级里有 n 个学生,编号为 0 到 n - 1 。每个学生会依次回答问题,编号为 0 的学生先回答,然后是编号为 1 的学生,以此类推,直到编号为 n - 1 的学生,然后老师会重复这个过程,重新从编号为 0 的学生开始回答问题。 给你一个长度为 n 且下标从 0 开始的整数数组 chalk  阅读全文
posted @ 2021-09-10 09:37 旺仔古李 阅读(46) 评论(0) 推荐(0)
摘要:满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点。 返回包含 N 个结点的所有可能满二叉树的列表。 答案的每个元素都是一个可能树的根结点。 答案中每个树的每个结点都必须有 node.val=0。 你可以按任何顺序返回树的最终列表。 示例: 输入:7输出:[[0,0,0,null,nul 阅读全文
posted @ 2021-09-04 21:55 旺仔古李 阅读(89) 评论(0) 推荐(0)
摘要:给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4]输出: [1,3,4]示例 2: 输入: [1,null,3]输出: [1,3]示例 3: 输入: []输出: [] 提示: 阅读全文
posted @ 2021-09-04 21:42 旺仔古李 阅读(79) 评论(0) 推荐(0)
摘要:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例 1: 输入: s = "aba"输出: true示例 2: 输入: s = "abca"输出: true解释: 你可以删除c字符。示例 3: 输入: s = "abc"输出: false 提示: 1 <= s.length 阅读全文
posted @ 2021-08-26 14:08 旺仔古李 阅读(53) 评论(0) 推荐(1)
摘要:给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 进阶: 你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗? 示例 1: 输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2: 输入:head = [-1,5,3,4,0]输 阅读全文
posted @ 2021-08-26 11:44 旺仔古李 阅读(46) 评论(0) 推荐(0)
摘要:有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes ,其中 boxes[i] 的值为 '0' 表示第 i 个盒子是 空 的,而 boxes[i] 的值为 '1' 表示盒子里有 一个 小球。 在一步操作中,你可以将 一个 小球从某个盒子移动到一个与之相邻的盒子中。第 i 个盒子和第 j 个 阅读全文
posted @ 2021-08-26 09:24 旺仔古李 阅读(50) 评论(0) 推荐(0)
摘要:第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1: 输入:people = [1,2], limit = 3输出:1解释:1 阅读全文
posted @ 2021-08-26 09:08 旺仔古李 阅读(41) 评论(0) 推荐(0)
摘要:给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) 二维数组的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些节点,空就是没有下一个结点了。 译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a 。 示例 阅读全文
posted @ 2021-08-25 13:52 旺仔古李 阅读(82) 评论(0) 推荐(0)
摘要:你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度之和相等。 你现在要画一条 自顶向下 的、穿过 最少 砖块的垂线。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。 给 阅读全文
posted @ 2021-08-22 22:48 旺仔古李 阅读(50) 评论(0) 推荐(0)
摘要:给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下: 任意节点的左子树中的键值都 小于 此节点的键值。任意节点的右子树中的键值都 大于 此节点的键值。任意节点的左子树和右子树都是二叉搜索树。 示例 1: 输入:root = [1,4,3,2,4, 阅读全文
posted @ 2021-08-22 18:47 旺仔古李 阅读(122) 评论(0) 推荐(0)
摘要:给定一个链表数组,每个链表都已经按升序排列。 请将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并 阅读全文
posted @ 2021-08-21 15:59 旺仔古李 阅读(50) 评论(0) 推荐(0)
摘要:给你一个整数 n,你需要重复执行多次下述操作将其转换为 0 : 翻转 n 的二进制表示中最右侧位(第 0 位)。如果第 (i-1) 位为 1 且从第 (i-2) 位到第 0 位都为 0,则翻转 n 的二进制表示中的第 i 位。返回将 n 转换为 0 的最小操作次数。 示例 1: 输入:n = 0输出 阅读全文
posted @ 2021-08-21 15:39 旺仔古李 阅读(361) 评论(0) 推荐(0)
摘要:给你一个字符数组 chars ,请使用下述算法压缩: 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 : 如果这一组长度为 1 ,则将字符追加到 s 中。否则,需要向 s 追加字符,后跟这一组的长度。压缩后得到的字符串 s 不应该直接返回 ,需要转储到字符数组 chars 中。需 阅读全文
posted @ 2021-08-21 15:33 旺仔古李 阅读(97) 评论(0) 推荐(0)
摘要:可以用字符串表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:'A':Absent,缺勤'L':Late,迟到'P':Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励: 按 总出勤 计,学生缺勤('A')严格 少于两 阅读全文
posted @ 2021-08-18 10:34 旺仔古李 阅读(109) 评论(0) 推荐(0)
摘要:给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ... 。 每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 next_larger(node_i) 是 node_j.val,那么 阅读全文
posted @ 2021-08-15 19:17 旺仔古李 阅读(110) 评论(0) 推荐(0)
摘要:3 x 3 的幻方是一个填充有从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的 grid,其中有多少个 3 × 3 的 “幻方” 子矩阵?(每个子矩阵都是连续的)。 示例: 输入: [[4,3,8,4], [9,5,1,9], [ 阅读全文
posted @ 2021-08-15 18:00 旺仔古李 阅读(48) 评论(0) 推荐(0)
摘要:有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。 给你一个 n x n 的矩阵 isConnected ,其中 isConnec 阅读全文
posted @ 2021-08-15 17:54 旺仔古李 阅读(61) 评论(0) 推荐(0)
摘要:你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。 注意:本题中,每个活字字模只能使用一次。 示例 1: 输入:"AAB"输出:8解释:可能的序列为 "A", "B", "AA", "AB", "BA", "AAB", "ABA", " 阅读全文
posted @ 2021-08-14 21:31 旺仔古李 阅读(170) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 18 下一页