在这里,我们将了解如何创建一个栈,该栈可以执行 push、pop、top 和在恒定时间内检索最小元素的操作。因此,函数将是 push(x)、pop()、top() 和 getMin()为了解决这个问题,我们将遵循以下步骤 -将栈初始化为最小元素为无穷大对于 push 操作 push(x)如果 x < min,则更新 min := x,将 x 推入栈对于 pop 操作 pop()t := 栈顶元素从栈中删除 t如果 t 是 min,则 min := 栈的栈顶元素对于 top 操作 top()只需返回栈顶元素对于 getMin 操作 getMin()返回 min 元素示例让我们看看... 阅读更多
假设我们有两个整数 a 和 b。我们的任务是找到这两个整数的和。一个约束条件是,我们不能使用任何运算符,例如 + 或 -。因此,如果 a = 5 且 b = 7,则结果将为 12。为了解决这个问题,我们将遵循以下步骤 -为了解决,我们将使用按位逻辑运算符如果 b = 0,则返回 a否则,通过提供一个 XOR b 和 a AND b(在将结果左移一次后)递归地使用 sum 函数示例(Python)让我们看看以下实现以更好地理解... 阅读更多
假设我们有一个数字 n。我们必须检查该数字是否是 3 的幂。因此,如果数字类似于 n = 27,即 3 的幂,则结果将为 true,如果 n = 15,则结果将为 false。为了解决这个问题,我们将遵循以下步骤 -我们将使用对数来解决这个问题如果 [log10(n) / log10(3)] mod 1 == 0,则它将是 3 的幂,否则不是示例让我们看看以下实现以更好地理解 -实时演示类解决方案(对象): def isPowerOfThree(self, n): """ :type n: int :rtype: bool """ if not n or n