117 次查看
假设我们有一个整数;我们必须检查它是否是 4 的幂。因此,如果输入类似于 16,则输出将为 True。为了解决这个问题,我们将遵循以下步骤 -如果 num < 0,则 -返回 false如果 num & (num - 1) 不为零,则 -返回 false如果 (num & 01010101010101010101010101010101) 为零,则 -返回 falsereturn true示例 让我们看看以下实现以获得更好的理解 - 在线演示#include using namespace std; class Solution { public: bool isPowerOfFour(int num){ if (num < 0) return false; ... 阅读更多
980 次查看
假设我们正在与另一名玩家玩名为 Nim 游戏的游戏。有一堆石头,每次玩家轮流移除 1 到 3 块石头。移除最后一块石头的人将获胜。Player1 将首先轮流移除石头。两位玩家都非常聪明,并且拥有游戏的最佳策略。我们必须设计一种算法来确定给定堆中石头的数量,Player1 是否可以赢得游戏。因此,如果输入类似于 5,则输出将为 true,因为 ... 阅读更多
418 次查看
假设我们有一个模式和一个字符串 str,找出 str 是否遵循相同的模式。这里的 follow 表示模式中的字母与 str 中的非空单词之间存在双射。因此,如果输入类似于 pattern = "cbbc",str = "word pattern pattern word",则输出将为 True。为了解决这个问题,我们将遵循以下步骤 -strcin := str定义一个单词数组对于 strcin 中的每个单词将单词插入 words 的末尾定义一个映射 p2ii := 0pat := 空字符串对于 pattern 中的 c -如果 c 不是 p2i 的成员,则 -(将 i 增加 ... 阅读更多
3K+ 次查看
假设我们想使用队列实现一个栈。我们必须为栈定义这些方法。push(x) - 将 x 推入栈。pop() - 删除并返回栈顶元素top() - 返回栈顶元素。empty() - 返回栈是否为空。因此,如果我们调用函数 push(10)、push(20),然后调用 pop()、pop(),则输出将为 20、10为了解决这个问题,我们将遵循以下步骤 -定义一个双端队列 q定义一个函数 push(),它将采用 x,并将 x 插入 q 的开头定义一个函数 pop()k := q 的第一个元素删除 front ... 阅读更多
175 次查看
假设我们有一个数组和一个整数 k,我们必须检查数组中是否存在两个不同的索引 i 和 j,使得 nums[i] = nums[j] 并且 i 和 j 的绝对差最多为 k。因此,如果输入类似于 [1, 2, 4, 1] 和 k = 3,则输出将为 True为了解决这个问题,我们将遵循以下步骤 -定义一个 nn 对数组对于初始化 i := 0,当 i - nums 的大小,更新 (将 i 增加 1),执行 -(将 {nums[i], i} 插入 nn 的末尾)对数组进行排序 ... 阅读更多
假设我们有两个字符串 s 和 t;我们必须检查它们是否同构。如果 s 中的字符可以替换为 t,则两个字符串被称为同构。字符的所有出现必须替换为另一个字符,同时保留字符的顺序。没有两个字符可以映射到同一个字符,但一个字符可以映射到自身。因此,如果输入类似于 s = "egg",t = "add",则输出将为 true,因为 e 可以映射到 a,而 g 可以映射到 d。为了解决这个问题,我们 ... 阅读更多
760 次查看
假设我们有一个正整数;我们必须找到其对应的列标题,就像在 Excel 电子表格中显示的那样。所以 [1 : A]、[2 : B]、[26 : Z]、[27 : AA]、[28 : AB] 等。因此,如果输入类似于 28,则输出将为 AB。为了解决这个问题,我们将遵循以下步骤 -当 n 不为零时,执行 -n := n - 1res := res + n mod 26 + 'A' 的 ASCII 码n := n / 26反转数组 res返回 res示例 让我们看看以下实现以获得更好的理解 - 在线演示#include using namespace std; ... 阅读更多
246 次查看
假设我们有一个非负索引 k,其中 k ≤ 33,我们必须找到帕斯卡三角形的第 k 个索引行。因此,如果输入类似于 3,则输出将为 [1,3,3,1]为了解决这个问题,我们将遵循以下步骤 -定义一个大小为 rowIndex + 1 的数组 pascal 并用 0 填充它对于初始化 r := 0,当 r
103 次查看
假设我们有一棵二叉树;我们必须找到该树的最小深度。众所周知,最小深度是从根节点到最近的叶节点的最短路径上的节点数。因此,如果输入类似于,则输出将为 2为了解决这个问题,我们将遵循以下步骤 -定义一个树节点数组 aa将根插入 aa 的末尾定义另一个树节点数组 aklevel := 0如果根为 null,则 -返回 0当 aa 的大小不等于 0 时,执行 -(清除数组 ak)(将 level 增加 ... 阅读更多
327 次查看
假设我们有两棵二叉树;我们必须定义一个函数来检查它们是否相同。我们知道,当二叉树在结构上相同且节点具有相同的值时,它们被认为是相同的。因此,如果输入类似于 [1, 2, 3]、[1, 2, 3],则输出将为 True为了解决这个问题,我们将遵循以下步骤 -定义一个名为 isSameTree 的函数,它将采用两个树节点 p 和 q如果 p 与 NULL 相同且 q 与 NULL 相同,则 -返回 true如果 p 与 ... 阅读更多