随笔分类 -  算法

上一页 1 2 3 4 5 6 7 8 ··· 18 下一页
一些基础的算法实现
摘要:给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例: 输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 " 阅读全文
posted @ 2021-07-25 21:09 旺仔古李 阅读(137) 评论(0) 推荐(0)
摘要:学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。 请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。 注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。 示例: 输入:heights = [1,1,4,2,1,3]输出:3 解释: 阅读全文
posted @ 2021-07-25 20:55 旺仔古李 阅读(46) 评论(0) 推荐(0)
摘要:存在一个由 n 个不同元素组成的整数数组 nums ,但你已经记不清具体内容。好在你还记得 nums 中的每一对相邻元素。 给你一个二维整数数组 adjacentPairs ,大小为 n - 1 ,其中每个 adjacentPairs[i] = [ui, vi] 表示元素 ui 和 vi 在 num 阅读全文
posted @ 2021-07-25 20:14 旺仔古李 阅读(39) 评论(0) 推荐(0)
摘要:给你一个字符串 time ,格式为 hh:mm(小时:分钟),其中某几位数字被隐藏(用 ? 表示)。 有效的时间为 00:00 到 23:59 之间的所有时间,包括 00:00 和 23:59 。 替换 time 中隐藏的数字,返回你可以得到的最晚有效时间。 示例 1: 输入:time = "2?: 阅读全文
posted @ 2021-07-24 07:26 旺仔古李 阅读(89) 评论(0) 推荐(0)
摘要:给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。) 示例 1: 输入: N = 10输出: 9示例 2: 输入: N = 1234输出: 123 阅读全文
posted @ 2021-07-23 23:13 旺仔古李 阅读(31) 评论(0) 推荐(0)
摘要:给你一个长度为 n 的整数数组 nums ,表示由范围 [0, n - 1] 内所有整数组成的一个排列。 全局倒置 的数目等于满足下述条件不同下标对 (i, j) 的数目: 0 <= i < j < nnums[i] > nums[j]局部倒置 的数目等于满足下述条件的下标 i 的数目: 0 <= 阅读全文
posted @ 2021-07-23 22:44 旺仔古李 阅读(79) 评论(0) 推荐(0)
摘要:你在进行一个简化版的吃豆人游戏。你从 [0, 0] 点开始出发,你的目的地是 target = [xtarget, ytarget] 。地图上有一些阻碍者,以数组 ghosts 给出,第 i 个阻碍者从 ghosts[i] = [xi, yi] 出发。所有输入均为 整数坐标 。 每一回合,你和阻碍者 阅读全文
posted @ 2021-07-23 14:03 旺仔古李 阅读(55) 评论(0) 推荐(0)
摘要:给你一个二维整数数组 ranges 和两个整数 left 和 right 。每个 ranges[i] = [starti, endi] 表示一个从 starti 到 endi 的 闭区间 。 如果闭区间 [left, right] 内每个整数都被 ranges 中 至少一个 区间覆盖,那么请你返回  阅读全文
posted @ 2021-07-23 10:31 旺仔古李 阅读(65) 评论(0) 推荐(0)
摘要:给出一个含有不重复整数元素的数组,每个整数均大于 1。 我们用这些整数来构建二叉树,每个整数可以使用任意次数。 其中:每个非叶结点的值应等于它的两个子结点的值的乘积。 满足条件的二叉树一共有多少个?返回的结果应模除 10 ** 9 + 7。 示例 1: 输入: A = [2, 4]输出: 3解释: 阅读全文
posted @ 2021-07-21 14:07 旺仔古李 阅读(83) 评论(0) 推荐(0)
摘要:在桌子上有 N 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 X 与任意一张卡片的正面的数字都不同,那么这个数字是我们想要的数字。 哪个数是这些想要的数字中最小的数(找到这些数中的最小值) 阅读全文
posted @ 2021-07-21 11:49 旺仔古李 阅读(119) 评论(0) 推荐(0)
摘要:单词数组 words 的 有效编码 由任意助记字符串 s 和下标数组 indices 组成,且满足: words.length == indices.length助记字符串 s 以 '#' 字符结尾对于每个下标 indices[i] ,s 的一个从 indices[i] 开始、到下一个 '#' 字符 阅读全文
posted @ 2021-07-21 11:20 旺仔古李 阅读(59) 评论(0) 推荐(0)
摘要:给定链表头结点 head,该链表上的每个结点都有一个 唯一的整型值 。 同时给定列表 G,该列表是上述链表中整型值的一个子集。 返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 G 中)构成的集合。 示例 1: 输入: head: 0->1->2->3G = 阅读全文
posted @ 2021-07-21 10:51 旺仔古李 阅读(54) 评论(0) 推荐(0)
摘要:有一个二维矩阵 A 其中每个元素的值为 0 或 1 。 移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。 在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。 返回尽可能高的分数。 示例: 输入:[[0, 阅读全文
posted @ 2021-07-19 11:43 旺仔古李 阅读(30) 评论(0) 推荐(0)
摘要:给你一个整数 n,请你每隔三位添加点(即 "." 符号)作为千位分隔符,并将结果以字符串格式返回。 示例 1: 输入:n = 987输出:"987"示例 2: 输入:n = 1234输出:"1.234"示例 3: 输入:n = 123456789输出:"123.456.789"示例 4: 输入:n 阅读全文
posted @ 2021-07-16 11:19 旺仔古李 阅读(108) 评论(0) 推荐(0)
摘要:给你一个由大小写英文字母组成的字符串 s 。 一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件: 若 s[i] 是小写字符,则 s[i+1] 不可以是相同的大写字符。若 s[i] 是大写字符,则 s[i+1] 不可以是相同 阅读全文
posted @ 2021-07-16 11:00 旺仔古李 阅读(72) 评论(0) 推荐(0)
摘要:现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。 可能会有多个正确的顺序,你只要返回一种就可以 阅读全文
posted @ 2021-07-15 14:19 旺仔古李 阅读(46) 评论(0) 推荐(0)
摘要:你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 b 阅读全文
posted @ 2021-07-15 13:51 旺仔古李 阅读(29) 评论(0) 推荐(0)
摘要:给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。 请你找到并返回这个整数 示例: 输入:arr = [1,2,2,6,6,6,6,7,10]输出:6 提示: 1 <= arr.length <= 10^40 <= arr[i] <= 10^5 阅读全文
posted @ 2021-07-15 10:15 旺仔古李 阅读(43) 评论(0) 推荐(0)
摘要:在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。 现在,我们查看这些立方体在 xy、yz 和 zx 平面上的投影。 投影就像影子,将三维形体映射到一个二维平面上。 阅读全文
posted @ 2021-07-09 11:21 旺仔古李 阅读(69) 评论(0) 推荐(0)
摘要:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动 阅读全文
posted @ 2021-07-06 17:47 旺仔古李 阅读(43) 评论(0) 推荐(0)

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