随笔分类 -  leetcode

上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页
摘要:设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。 示例: 输入: a = 1, b = 1 输出: 2 提示: a, b 均可能是负数或 0 结果不会溢出 32 位整数 class Solution: def add(self, a: int, b: int) -> int: if b 阅读全文
posted @ 2020-12-20 19:43 XXXSANS 阅读(117) 评论(0) 推荐(0)
摘要:给你一个以二进制形式表示的数字 s 。请你返回按下述规则将其减少到 1 所需要的步骤数: 如果当前数字为偶数,则将其除以 2 。 如果当前数字为奇数,则将其加上 1 。 题目保证你总是可以按上述规则将测试用例变为 1 。 示例 1: 输入:s = "1101" 输出:6 解释:"1101" 表示十进 阅读全文
posted @ 2020-12-20 19:36 XXXSANS 阅读(214) 评论(0) 推荐(0)
摘要:给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 注意:该题与 1081 https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-ch 阅读全文
posted @ 2020-12-20 10:45 XXXSANS 阅读(229) 评论(0) 推荐(0)
摘要:给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。 返回获得利润的最大值。 注意:这里的一笔交易指买入持有 阅读全文
posted @ 2020-12-17 08:28 XXXSANS 阅读(118) 评论(0) 推荐(0)
摘要:如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。 例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7 阅读全文
posted @ 2020-12-12 17:40 XXXSANS 阅读(126) 评论(0) 推荐(0)
摘要:给一个有 n 个结点的有向无环图,找到所有从 0 到 n-1 的路径并输出(不要求按顺序) 二维数组的第 i 个数组中的单元都表示有向图中 i 号结点所能到达的下一些结点(译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a )空就是没有下一个结点了。 示例 1: 输入:graph = [ 阅读全文
posted @ 2020-12-05 13:32 XXXSANS 阅读(245) 评论(0) 推荐(0)
摘要:给你一个 有向无环图 , n 个节点编号为 0 到 n-1 ,以及一个边数组 edges ,其中 edges[i] = [fromi, toi] 表示一条从点 fromi 到点 toi 的有向边。 找到最小的点集使得从这些点出发能到达图中所有点。题目保证解存在且唯一。 你可以以任意顺序返回这些节点编 阅读全文
posted @ 2020-12-05 11:50 XXXSANS 阅读(132) 评论(0) 推荐(0)
摘要:这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。 如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。 示例 1: 输入:grid = [[1 阅读全文
posted @ 2020-12-04 18:05 XXXSANS 阅读(188) 评论(0) 推荐(0)
摘要:你总共需要上 n 门课,课程编号依次为 0 到 n-1 。 有的课会有直接的先修课程,比如如果想上课程 0 ,你必须先上课程 1 ,那么会以 [1,0] 数对的形式给出先修课程数对。 给你课程总数 n 和一个直接先修课程数对列表 prerequisite 和一个查询对列表 queries 。 对于每 阅读全文
posted @ 2020-12-03 16:54 XXXSANS 阅读(135) 评论(0) 推荐(0)
摘要:给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 示例 1: 输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]示例 2: 输入:root = 阅读全文
posted @ 2020-12-03 09:15 XXXSANS 阅读(149) 评论(0) 推荐(0)
摘要:在有向图中, 我们从某个节点和每个转向处开始, 沿着图的有向边走。 如果我们到达的节点是终点 (即它没有连出的有向边), 我们停止。 现在, 如果我们最后能走到终点,那么我们的起始节点是最终安全的。 更具体地说, 存在一个自然数 K, 无论选择从哪里开始行走, 我们走了不到 K 步后必能停止在一个终 阅读全文
posted @ 2020-12-03 09:08 XXXSANS 阅读(128) 评论(0) 推荐(0)
摘要:在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人。 每个人(除了小镇法官外)都信任小镇的法官。 只有一个人同时满足属性 1 和属性 2 。 给定数组 trust,该数组由信任对 trust[i] = 阅读全文
posted @ 2020-12-02 19:14 XXXSANS 阅读(144) 评论(0) 推荐(0)
摘要:完全二叉树是每一层(除最后一层外)都是完全填充(即,节点数达到最大)的,并且所有的节点都尽可能地集中在左侧。 设计一个用完全二叉树初始化的数据结构 CBTInserter,它支持以下几种操作: CBTInserter(TreeNode root) 使用头节点为 root 的给定树初始化该数据结构; 阅读全文
posted @ 2020-12-01 09:26 XXXSANS 阅读(142) 评论(0) 推荐(0)
摘要:给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。 若可行,输出任意可行的结果。若不可行,返回空字符串。 示例 1: 输入: S = "aab" 输出: "aba" 示例 2: 输入: S = "aaab" 输出: "" 注意: S 只包含小写字母并且长度在[1, 500]区间内 阅读全文
posted @ 2020-11-30 21:22 XXXSANS 阅读(147) 评论(0) 推荐(0)
摘要:满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点。 返回包含 N 个结点的所有可能满二叉树的列表。 答案的每个元素都是一个可能树的根结点。 答案中每个树的每个结点都必须有 node.val=0。 你可以按任何顺序返回树的最终列表。 示例: 输入:7输出:[[0,0,0,null,nul 阅读全文
posted @ 2020-11-27 17:08 XXXSANS 阅读(109) 评论(0) 推荐(0)
摘要:给出二叉树的根节点 root,树上每个节点都有一个不同的值。 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合)。 返回森林中的每棵树。你可以按任意顺序组织答案。 示例: 输入:root = [1,2,3,4,5,6,7], to_del 阅读全文
posted @ 2020-11-27 15:26 XXXSANS 阅读(131) 评论(0) 推荐(0)
摘要:给定一棵二叉树,其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法,打印节点数值总和等于某个给定值的所有路径的数量。注意,路径不一定非得从二叉树的根节点或叶节点开始或结束,但是其方向必须向下(只能从父节点指向子节点方向)。 示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 阅读全文
posted @ 2020-11-26 17:01 XXXSANS 阅读(158) 评论(0) 推荐(0)
摘要:给定一个根为 root 的二叉树,每个节点的深度是 该节点到根的最短距离 。 如果一个节点在 整个树 的任意节点之间具有最大的深度,则该节点是 最深的 。 一个节点的 子树 是该节点加上它的所有后代的集合。 返回能满足 以该节点为根的子树中包含所有最深的节点 这一条件的具有最大深度的节点。 注意:本 阅读全文
posted @ 2020-11-26 14:27 XXXSANS 阅读(127) 评论(0) 推荐(0)
摘要:实现一个函数,检查一棵二叉树是否为二叉搜索树。 示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。 来源:力扣(Lee 阅读全文
posted @ 2020-11-26 11:24 XXXSANS 阅读(130) 评论(0) 推荐(0)
摘要:输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1 阅读全文
posted @ 2020-11-26 09:09 XXXSANS 阅读(74) 评论(0) 推荐(0)

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