284 次浏览
假设我们有一个字符串和一组分隔符,我们需要反转字符串中的单词,同时保持分隔符的相对顺序不变。例如,如果输入为 s = "Computer/Network:Internet|tutorialspoint",delims = ["/", ":", '|'],则输出将为 tutorialspoint/Internet:Network|Computer。为了解决这个问题,我们将遵循以下步骤:words := 一个新的列表ans := 空字符串temp := 一个字典分离单词(除了分隔符字符)并将它们插入到 words 数组中当字符是分隔符时分离单词,然后将它们添加到 ans 中,否则反向读取 words 数组中的单词并添加... 阅读更多
143 次浏览
假设我们有一个链表,我们还有两个值 i 和 j,我们需要反转从第 i 个节点到第 j 个节点的链表。最后返回更新后的列表。例如,如果输入为 [1, 2, 3, 4, 5, 6, 7, 8, 9],i = 2,j = 6,则输出将为 [1, 2, 7, 6, 5, 4, 3, 8, 9, ]。为了解决这个问题,我们将遵循以下步骤:prev_head := 创建一个值为 null 的链表节点,并指向节点prev := prev_head,curr := 节点遍历从 0 到... 阅读更多
247 次浏览
假设我们有一个包含三元表达式的表达式,我们需要计算该表达式的结果。它支持一些值,例如 T 和 F 分别表示真和假,以及“?”和“:”字符。有一些属性:给定字符串的长度必须小于或等于 10000。条件表达式从右到左分组。条件始终为 T 或 F。因此条件永远不会是数字。表达式的结果将始终计算为 T 或 F。例如,如果输入为“T ? T ? F : T : T”,... 阅读更多
92 次浏览
假设我们有一个名为 target 的数字列表。现在让我们考虑一个与给定列表长度相同的列表 X,并且 X 填充了 1。我们可以执行以下操作任意多次:在 X 中取任意索引 i 并将 X[i] 设置为 X 的当前总和。最后检查 X 是否可以转换为 target。例如,如果输入为 target = [5, 9, 3],则输出将为 True,因为最初 X = [1, 1, 1],然后用总和 3 更新它,数组将为... 阅读更多
839 次浏览
假设我们有一个字符串 s 和另一个值 k,我们重复删除最早的 k 个连续重复字符,并返回最终字符串。例如,如果输入为 s = "paaappmmmma",k = 3,则输出将为 "ma",因为当我们删除三个 "a" 以获得 "pppmmmma" 时。然后我们删除三个 "p" 以获得 "mmmma"。然后删除四个 "m" 中的三个以获得 "ma"。为了解决这个问题,我们将遵循以下步骤:无限次执行以下步骤:docount := 0chars := 从 s 中获取唯一的字符对于 chars 中的每个字符 c,执行以下操作:如果 k 个连续的 c 位于... 阅读更多
765 次浏览
假设我们有一个数字 n,我们需要找到该给定数字的格雷码(换句话说,第 n 个格雷码)。众所周知,格雷码是一种对二进制数进行排序的方式,使得每个连续数字的值恰好相差一位。一些格雷码是:[0, 1, 11, 10, 110, 111,依此类推]例如,如果输入为 n = 12,则输出将为 10,因为 12 的二进制表示为 (1100),对应的格雷码将为 (1010),其十进制等价值为 10。为了解决这个问题,我们将遵循以下步骤:定义一个... 阅读更多
106 次浏览
假设我们有一个二维矩阵,其中每一行包含两个值 [高度,计数],这些值表示该人的高度,并且在他们前面有“计数”个人至少与他们一样高。现在考虑这个队列被打乱了,我们需要恢复队列的原始顺序。例如,如果输入为224050,则输出将为405022。为了解决这个问题,我们将遵循以下步骤:N := 矩阵的行数根据递增的高度和递减的计数重新排列矩阵行ans := 创建一个大小为 N 的列表,并且最初所有条目都为 null对于每个... 阅读更多
309 次浏览
假设我们有四个数字列表 A、B、C 和 D,以及一个目标值,我们需要找到不同的四元组 (i, j, k, l) 的数量,使得 A[i] + B[j] + C[k] + D[l] 与目标相同。例如,如果输入为 A = [5, 4, 3],B = [8, 4],C = [6, 2],D = [4, 10],target = 23,则输出将为 3,四元组为 [5, 8, 6, 4] [3, 4, 6, 10] [3, 8, 2, 10]。为了解决这个问题,我们将遵循以下步骤:count := 0m := ... 阅读更多
327 次浏览
假设我们有一个二进制列表(列表中的 1 和 0),以及另一个值 k。nums 中的每个值表示监狱牢房的状态,其中 1 表示占用牢房,0 表示空牢房。在每一天,如果一个牢房有两个相邻的牢房,它们要么都被占用,要么都为空,那么它就会被占用。否则,它将变为空。因此,我们需要找到 k 天后监狱牢房的状态。例如,如果输入为 nums = [1, 0, 1, 0, 0, 0, 0, 0],k = 1,则输出将为... 阅读更多
59 次浏览
假设我们有一个名为 nums 的数字列表以及另一个值 k,我们需要检查该列表是否可以划分为成对,使得每对的和可以被 k 整除。例如,如果输入为 nums = [4, 7, 2, 5],k = 6,则输出将为 True,因为我们可以将给定列表划分为 (4, 2) 和 (8, 1) 等成对,并且它们的和可以被 3 整除。为了解决这个问题,我们将遵循以下步骤:如果 nums 有偶数个元素,则返回 Falsecount := 一个大小为 k 的列表,并且... 阅读更多