354 次浏览
假设我们有一个名为 matrix 的二维矩阵,我们需要计算由其左上角和右下角定义的矩形内的元素之和。因此,如果输入如下:3014256321120154101710305那么我们将有几种方法来查找总和,更新值,如果我们调用它们,例如sumRegion(2, 1, 4, 3)update(3, 2, 2)sumRegion(2, 1, 4, 3),则输出将是 8 和 10,因为上面的矩形(绿色)由 (2, 1) 和 (4, 3) 定义,其中总和 = 8。为了解决这个问题,我们将遵循以下步骤:- 定义一个二维数组树定义一个二维数组… 阅读更多
313 次浏览
假设我们有一张图像,并且该图像由一个二进制矩阵表示,其中 0 表示白色像素,1 表示黑色像素。这里黑色像素是连接的,所以只有一个黑色区域。像素水平和垂直连接。如果我们有一个黑色像素的位置 (x, y),我们需要找到包含所有黑色像素的最小(轴对齐)矩形的面积。因此,如果输入如下:001001100100并且 x = 0,y = 2,则输出为 6。为了解决这个问题,我们将遵循以下步骤:- 定义一个… 阅读更多
769 次浏览
假设我们有一棵二叉树,我们需要对其进行序列化和反序列化。众所周知,序列化是将数据结构或对象转换为一系列比特的过程,以便我们可以将其存储在文件或内存缓冲区中,并且可以在以后在相同或另一个计算机环境中重建它。在这里,我们需要设计一种算法来序列化和反序列化二叉树。二叉树是一种根树,其中每个节点最多有两个子节点。因此,如果输入如下,则输出将是序列化 - 1… 阅读更多
197 次浏览
假设有一组两人或更多的人,他们想见面并最大限度地减少总行程距离。我们有一个值为 0 或 1 的二维网格,其中每个 1 表示该组中某人的家。距离使用曼哈顿距离公式计算,因此 distance(p1, p2) = |p2.x - p1.x| + |p2.y - p1.y|。因此,如果输入如下:100010000000100则输出为 6,因为从矩阵中我们可以理解到有三个人住在 (0, 0)、(0, 4) 和 (2, 2):点 (0, 2) 是一个理想的会合… 阅读更多
200 次浏览
假设我们有一个模式和一个字符串 str,我们需要检查 str 是否遵循相同的模式。这里的模式匹配意味着完全匹配,这样在模式中的字母和 str 中的非空子字符串之间存在双射。因此,如果输入如下:模式是“abaa”,str 是“orangegreenorangeorange”,则输出为 true。为了解决这个问题,我们将遵循以下步骤:- 定义一个函数 solve(),它将采用 i、j、ptr、s、一个映射 m、一个名为 used 的集合,如果 i >= s 的大小并且 j >= ptr 的大小,… 阅读更多
371 次浏览
假设我们有一棵二叉搜索树和一个目标值;我们需要找到该 BST 中 k 个最接近目标的值。我们必须记住目标值是浮点数。我们可以假设 k 始终有效,并且 k ≤ 总节点数。因此,如果输入如下:target = 3.714286,k = 2,则输出为 [4, 3]。为了解决这个问题,我们将遵循以下步骤:- 定义一个函数 pushSmaller(),它将采用节点、堆栈 st 和目标,当节点不存在时,执行:- 如果节点的值 <… 阅读更多
456 次浏览
假设有一种新的外星语言,它使用拉丁字母。但是,字母之间的顺序是未知的。我们有一个来自字典的非空单词列表,这些单词按这种新语言的规则按字典顺序排序。我们需要找到这种语言中字母的顺序。因此,如果输入如下:["wrt", "wrf", "er", "ett", "rftt"],则输出为 "wertf"。为了解决这个问题,我们将遵循以下步骤:- 定义一个名为 degree 的映射定义一个名为 graph 的映射 n := 单词的大小对于初始化 i := 0,当 i < 单词的大小… 阅读更多
344 次浏览
假设我们有一排 n 个房子,现在每个房子都可以涂上 k 种颜色中的一种。每个房子用某种颜色涂漆的成本是不同的。现在我们必须记住,我们必须粉刷所有房屋,这样就不会有两个相邻的房屋具有相同的颜色。用某种颜色粉刷每栋房子的成本由 n x k 阶矩阵表示。我们需要找到粉刷所有房子的最低成本。因此,如果输入如下:153294则输出为 5,因为粉刷… 阅读更多
515 次浏览
假设我们想定义一个函数来计算在 (low 和 high) 范围内存在的回文数的总数。众所周知,回文数是一个数字,当旋转 180 度时看起来相同。因此,如果输入如下:low = "50",high = "100",则输出为 3,因为有三个结果,69、88 和 96。为了解决这个问题,我们将遵循以下步骤:- 定义一个函数 findStrobogrammatic(),它将采用 n,定义一个数组 ret如果 n & 1 不为零,则:- 在 ret 的末尾插入 "0" 在 ret 的… 阅读更多
2K+ 次浏览
在这个问题中,我们得到一个字符串数组。我们的任务是创建一个 C 程序来对名称或字符串数组进行排序。此程序将按升序字母顺序对我们给出的所有输入名称进行排序。让我们举一个例子来理解这个问题,输入 namesArray = ["Rishabh", "Jyoti", "Palak", "Akash"] 输出 ["Akash", "jyoti", "palak", "Rishabh"] 为了解决这个问题,我们将使用标准模板库的 qsort() 函数,因为我们知道整数的值排序,这里改变的是我们考虑字符串进行比较而不是整数。因此,使用的比较器… 阅读更多