- 博客(20)
- 收藏
- 关注
原创 【每日一题补】18-20??
k/all的集合,那么我们每次尝试选择一个还在数组中的数,若选择后当前已选数字和等于 \textit{per}per 则说明得到了一个集合,而已选数字和大于 \textit{per}per 时,不可能形成一个集合从而停止继续往下选择新的数字。首先计算数组的和 \textit{all}all,如果 \textit{all}all 不是 kk 的倍数,那么不可能能有合法方案,此时直接返回 \text{False}False。给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。
2022-09-22 21:09:21
171
原创 【每日一题D16】人民币金额打印
在中文大写方式中,0到10以及100、1000、10000被依次表示为: 零 壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万。银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序。
2022-09-16 18:54:39
276
原创 【每日一题D15】略-灯泡开关
开关 4 :反转编号为 j = 3k + 1 的灯的状态,其中 k = 0, 1, 2, ...(即 1, 4, 7, 10, ...)当n == 2时,按照推理111的状态推理11,按一次有3种,按2次及以上有4种。墙上挂着 4 个开关。当n == 3时,按一次有4种,按2次及以上有7种,3次及以上有8种。当n == 1时,开关1、3、4对其造成影响,也只有开和关两种状态。开关 2 :反转编号为偶数的灯的状态(即 2, 4, ...)开关 3 :反转编号为奇数的灯的状态(即 1, 3, ...)
2022-09-15 18:10:36
184
原创 【每日一题D12】特征数组的特征值
如果存在一个数 x ,使得 nums 中恰好有 x 个元素 大于或者等于 x ,那么就称 nums 是一个 特殊数组 ,而 x 是该数组的 特征值。根据特征值定义,如果X是特征值,那么有X个元素大于等于X。降序排列后,从nums[0]到nums[X-1]必须大于等于X,并且nums[X](如果存在)必须小于X。如果数组 nums 是一个 特殊数组 ,请返回它的特征值 x。可以证明的是,如果 nums 是特殊数组,那么其特征值 x 是 唯一的。注意: x 不必 是 nums 的中的元素。
2022-09-12 20:04:39
170
原创 【每日一题D11】?雇佣K名工人最低成本
给定两个数组 quality 和 wage ,其中,quality[i] 表示第 i 名工人的工作质量,其最低期望工资为 wage[i]。我们可以先将工人按照权重进行升序排序,然后在遍历过程中可以用优先队列来维护之前工作质量最少的 k-1k−1 名工人。给定整数 k ,返回 组成满足上述条件的付费群体所需的最小金额。w[i]/q[i]是该工人一份工作质量要支付的工资,这是该工人的权重。工资组中的每名工人至少应当得到他们的最低期望工资。对工资组中的每名工人,应当按其工作质量与。
2022-09-11 22:54:06
118
原创 【每日一题D10补】修剪二叉搜索树
给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的。的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。递归与普通循环的区别是:循环是有去无回,而递归则是。在循环的次数较大的时候,
2022-09-11 22:33:53
276
原创 【每日一题D9】文件夹操作日志搜集器
如果当前的操作为 "../":移动到当前文件夹的父文件夹。如果已经在主文件夹下,则继续停留在当前文件夹。如果当前的操作为"x/":移动到下一层名为 \textit{x}x 的子文件夹中。:移动到当前文件夹的父文件夹。如果已经在主文件夹下,则 继续停留在当前文件夹。如果当前的操作为"./":继续停留在当前文件夹,此时 depth 保持不变;:移动到名为 x 的子文件夹中。执行完所有变更文件夹操作后,请你找出 返回主文件夹所需的最小步数。文件系统启动时位于主文件夹,然后执行 logs 中的操作。
2022-09-09 11:59:59
104
原创 【每日一题D8】优美的排列
1,2,⋯,n−k(后半部分开始),n,n−k+1,n−1,n−k+2,⋯]假设该列表是 answer = [a1, a2, a3, ... , an] ,那么列表 [|a1 - a2|, |a2 - a3|, |a3 - a4|, ... , |an-1 - an|] 中应该有且仅有 k 个不同整数。2.k=n-1, 按照 [1, n, 2, n-1, 3, ...][1,n,2,n−1,3,⋯] 的顺序进行排列,相邻差从n-1开始,到1结束。1.k=1,按照顺序排列,满足题意。
2022-09-09 11:52:31
135
原创 【每日一题D7】重新排列单词间的空格
请你重新排列空格,使每对相邻单词之间的空格数目都 相等 ,并尽可能 最大化 该数目。如果不能重新平均分配所有空格,请 将多余的空格放置在字符串末尾 ,这也意味着返回的字符串应当与原 text 字符串的长度相等。给你一个字符串 text ,该字符串由若干被空格包围的单词组成。每个单词由一个或者多个小写英文字母组成,并且两个单词之间至少存在一个空格。题目测试用例保证 text 至少包含一个单词。返回 重新排列空格后的字符串。
2022-09-07 11:57:01
136
原创 【每日一题D6】代码问题?统计子串中的唯一字符
例如:s = "LEETCODE" ,则其中 "L", "T","C","O","D" 都是唯一字符,因为它们只出现一次,所以 countUniqueChars(s) = 5。注意,某些子字符串可能是重复的,但你统计时也必须算上这些重复的子字符串(也就是说,你必须统计 s 的所有子字符串中的唯一字符)。遍历s,对于每个位置k上的字母,向前找到上个相同字母的位置i,向后找到相同字母的位置j,那么它可以为。那s[i + 1: j - 1]中有多少个子串是包含当前字母的呢,写了几个字符串。
2022-09-07 11:44:21
120
原创 【每日一题D5】什么是seen?寻找重复的子树
对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。如果两棵树具有相同的结构和相同的结点值,则它们是重复的。给定一棵二叉树 root,返回所有重复的子树。
2022-09-06 21:03:54
155
原创 【每日一题D4】二进制矩阵中的特殊位置
特殊位置 定义:如果 mat[i][j] == 1 并且第 i 行和第 j 列中的所有其他元素均为 0(行和列的下标均 从 0 开始 ),则位置 (i, j) 被称为特殊位置。该元素所处的行和列上所有其他元素都是0。给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目。
2022-09-04 22:58:57
298
原创 【每日一题D3】最长数对链
乐高思想,贪心算法。因为影响条件为数对第二个数,第二个数越大,他后面能跟的数就越少,那么可以按照第二个数进行排序,优先选择小的,同时剔除不符合约束条件的,剩下的数对个数即为答案。现在,我们定义一种跟随关系,当且仅当 b < c 时,数对(c, d) 才可以跟在 (a, b) 后面。我们用这种形式来构造一个数对链。给定一个数对集合,找出能够形成的最长数对链的长度。你不需要用到所有的数对,你可以以任何顺序选择其中的一些数对来构造。在每一个数对中,第一个数字总是比第二个数字小。
2022-09-04 21:14:57
92
原创 【笔记】前缀和难题?二叉树路径问题题目1
2.从根节点到p节点的距离是差值,那么从p1到p节点的距离一定是总和。给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的。2.遍历左右子树,此时路径和要减去父节点的值。2.判断该节点是不是叶子节点:是叶子节点该路径到此为止,非叶子结点继续遍历。2.该节点的值加入列表,减少目标和。1.对于一个节点先判断到他为止是不是等于路径和,是路径和就加一。,返回所有从根节点到叶子节点的路径。的(只能从父节点到子节点)。是指没有子节点的节点。
2022-09-03 22:48:22
275
原创 【笔记】二叉树路径问题
设计一个辅助函数maxpath,调用自身求出以一个节点为根节点的左侧最长路径left和右侧最长路径right,那么经过该节点的最长路径就是left+right。1.自顶向下:从一个节点向下寻找路径,到某个节点结束。1.有给定和时,可用给定值减去节点值判断是否退出递归。2.非自顶向下:任意节点到任意节点路径。3.是否return路径:看题目要求。1.确定节点值是否有负值。4.是否从根节点开始。2.两点之间路径为1。
2022-09-03 18:02:03
207
原创 【每日一题D2】最长同值路径
定义 dfs(root, val) 返回以 root 为根节点的与 val 同值的最长路径,而对于经过 root 而不经过其父节点的最长路径我们使用一个全局的变量进行记录。给定一个二叉树的 root ,返回 最长的路径的长度 ,这个路径中的 每个节点具有相同值。以此不难想到使用递归处理,对于第二种情况直接递归处理即可,我们只需在递归中处理第一种情况。路径经过根节点,需计算左子树部分和右子树部分与根节点同值的最长路径。两个节点之间的路径长度 由它们之间的边数表示。路径不经过根节点,路径在左子树或者右子树。
2022-09-02 23:12:51
94
原创 【每日一题D1】单调栈解决商品折扣价
商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j]
2022-09-01 22:21:14
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人