89 次浏览
在这个问题中,我们得到两个值 S 和 N,分别表示水流速度(公里/小时)和上游下游时间的比率。我们的任务是从水流速度和上游下游时间的比率中找到人的速度。让我们来看一个例子来理解这个问题,输入 S = 5,N = 2 输出 15 解法解决这个问题的一个简单方法是使用划船问题的数学公式。因此,让我们看看公式是如何工作的——人的速度 = x 公里/小时 水流速度 = S 公里/小时 人的速度… 阅读更多
706 次浏览
在这个问题中,我们得到一个大数 N。我们的任务是找到给定数字的最小排列。让我们来看一个例子来理解这个问题,输入 N = 4529016 输出 1024569 解法解决这个问题的一个简单方法是将长整数值存储到字符串中。然后我们将对字符串进行排序,这就是我们的结果。但是,如果有任何前导零,我们将把它们移到第一个非零值之后。程序说明了解决方案的工作原理,示例现场演示 #include using namespace std; string smallestNumPer(string s) { int len = s.length(); sort(s.begin(), s.end()); ... 阅读更多
1K+ 次浏览
在这个问题中,我们得到两个值,即 sum(表示数字的和)和 digit(表示数字的位数)。我们的任务是找到具有给定位数和数字和的最小数字。让我们来看一个例子来理解这个问题,输入 sum = 15,digit = 2 输出 69 说明所有和为 15 的两位数是:69、78、87、96。解法解决这个问题的一个简单方法是考虑所有位数为 digit 的数字,并找到数字和等于 sum 的最小数字。一个有效的解决方案… 阅读更多
744 次浏览
在这个问题中,我们得到一个单链表。我们的任务是在单链表中找到最小和最大元素。让我们来看一个例子来理解这个问题,输入链表:5 -> 2 -> 7 -> 3 -> 9 -> 1 -> 4 输出最小元素 = 1 最大元素 = 9 解法解决这个问题的一个简单方法是遍历链表的每个节点。在此之前,我们将 maxElement 和 minElement 初始化为第一个元素的值,即 head -> data。然后我们将遍历链表的每个元素。并且… 阅读更多
在这个问题中,我们得到一个大小为 nXn 的方阵。我们的任务是从方阵对角线中找到最小和最大元素。我们需要找到矩阵主对角线和次对角线上的最小和最大元素。让我们来看一个例子来理解这个问题,输入 mat[][] = { {3, 4, 7}, {5, 2, 1}, {1, 8, 6} } 输出主对角线上的最小元素 = 2 主对角线上的最大元素 = 6 次对角线上的最小元素 = 1 次对角线上的最大元素 = 7 解法解决这个问题的一个简单方法是… 阅读更多
96 次浏览
在这个问题中,我们得到四个值 x1、y1、x2、y2,分别表示两点 (x1, y1) 和 (x2, y2)。我们的任务是在矩阵中找到单次移动。我们需要找到可以从一个点 (x1, y1) 移动到 (x2, y2) 的方向。通过所需方向的移动可以有任意数量,我们需要以“左”、“右”、“上”、“下”的形式返回方向。否则返回 -1,表示“不可能”。让我们来看一个例子来理解这个问题,输入 x1 = 2,y1 = 1,x2 = … 阅读更多
156 次浏览
在这个问题中,我们得到一个 NxN 的二进制矩阵 bin[][]。我们的任务是找到二进制矩阵中由所有 1 组成的最大“+”的大小。让我们来看一个例子来理解这个问题,输入 0 1 1 1 1 1 0 1 0 输出 5 解法解决这个问题的一个简单方法是找到最大的“+”,为此我们需要找到矩阵中一个点在一个方向上的最大 1 的数量,对于给定的 1,这在所有四个方向上都需要相同。为此,我们将创建一个矩阵… 阅读更多
235 次浏览
在这个问题中,我们得到一个包含 (2n+1) 个整数值的数组。在所有这些值中,n 个元素在数组中出现两次,并且数组中只有一个元素出现一次。我们的任务是在由 2n+1 个整型元素组成的数组中找到单个元素。让我们来看一个例子来理解这个问题,输入 arr[] = {1, 3, 5, 6, 5, 1, 3} 输出 5 解法解决这个问题的一个简单方法是使用元素计数器。如果遇到一个元素,则存储其值和出现次数。在此之后,在表中搜索该元素… 阅读更多
161 次浏览
在这个问题中,我们得到一个单词数组 arr[]。我们的任务是找到给定列表中每个单词的最短唯一前缀。让我们来看一个例子来理解这个问题,输入 arr[] = {“learn”, “programming”, “code”} 输出 c leap lear p 解法解决这个问题的一个简单方法是找到单词的所有前缀。然后检查它是否是数组中任何其他单词的前缀。如果不是,则打印它。一个有效的方法是使用 Trie 数据结构。我们将构建一个 Trie 并存储所有单词。然后查找频率… 阅读更多
753 次浏览
在这个问题中,我们得到一个矩阵 mat[][]。它定义了一条带有地雷的路径,地雷标记为 0。我们的任务是在带有地雷的路径中找到最短的安全路线。在遍历安全路径时,我们需要避免行走地雷的相邻单元格(左、右、上、下),因为它们是不安全的。遍历路径时所有有效的移动都是:- 左:mat[i][j] => mat[i-1][j] - 右:mat[i][j] => mat[i+1][j] - 上:mat[i][j] => mat[i][j - 1] - 下:mat[i][j] => mat[i][j + 1] 让我们来看一个例子来理解这个问题,输入 mat[][] = … 阅读更多