找到 34423 篇文章 关于编程

在 C++ 中查找几何级数中的缺失数字

Arnab Chakraborty
更新于 2019-12-18 12:48:57

107 次查看

假设我们有一个数组,按顺序表示几何级数的元素。缺少一个元素。我们必须找到缺失的元素。所以如果 arr = [1, 3, 27, 81],输出是 9,因为 9 缺失。使用二分查找,我们可以解决这个问题。我们将转到中间元素,然后检查中间元素与中间元素下一个元素之间的比率是否与公比相同。如果不是,则缺失元素存在于索引 mid 和 mid + 1 之间。如果中间元素是 GP 中的第 n/2 个元素,则缺失元素... 阅读更多

在 C++ 中查找矩阵任意列中差异最大的对

Arnab Chakraborty
更新于 2019-12-18 12:50:47

82 次查看

假设我们有一个 NxN 阶矩阵。我们必须找到一对元素,它们构成矩阵任意列的最大差异。所以如果矩阵是这样的:-123535967那么输出将是 8。因为这对是来自第 0 列的 (1, 9)。这个想法很简单,我们只需要简单地找到每一列的最大元素和最小元素之间的差异。然后返回最大差异。示例#include #define N 5 using namespace std; int maxVal(int x, int y){    return (x > y) ? x : y; } int minVal(int x, int y){    return (x > y) ? ... 阅读更多

在 C++ 中查找算术级数中的缺失数字

Arnab Chakraborty
更新于 2019-12-18 12:47:11

137 次查看

假设我们有一个数组,按顺序表示算术级数的元素。缺少一个元素。我们必须找到缺失的元素。所以如果 arr = [2, 4, 8, 10, 12, 14],输出是 6,因为 6 缺失。使用二分查找,我们可以解决这个问题。我们将转到中间元素,然后检查中间元素与中间元素下一个元素之间的差值是否与 diff 相同。如果不是,则缺失元素存在于索引 mid 和 mid + 1 之间。如果中间元素是 AP 中的第 n/2 个元素,则缺失... 阅读更多

在 C++ 中找出支付总金额所需的最小硬币数量

Arnab Chakraborty
更新于 2019-12-18 12:46:38

248 次查看

假设我们有一个数字 N,以及无限数量的面值为 1、10 和 25 的货币硬币。找出我们为了准确支付金额 N 而需要使用的最小硬币数量。假设 N 是 14,那么硬币数量将是 5,因为一枚面值为 10 的硬币和四枚面值为 1 的硬币。为了解决这个问题,我们必须执行以下步骤:如果 N < 10,则返回 N 枚面值为 1 的硬币如果 N > 9 且 N < 25,则将该值除以 10 并获取结果,剩余部分将使用面值为 1 的硬币来覆盖,添加... 阅读更多

在 C++ 中查找从 N 到达 M 的最小步数

Arnab Chakraborty
更新于 2019-12-18 12:45:29

772 次查看

假设我们有两个整数 N 和 M。我们必须找到从 N 到达 M 的最小步数,通过执行给定的操作:将数字 x 乘以 2,所以 x 将变成 2*x从数字 x 中减去 1,所以数字将变成 x – 1如果 N = 4 且 M = 6,则输出将是 2。所以如果我们对 N 执行操作编号 2,那么 N 变成 3,然后对 N 的更新值执行操作编号 1,所以它变成 2 * 3 = 6。所以最小步数将是... 阅读更多

在 C++ 中查找 n 边凸多边形中的对角线条数

Arnab Chakraborty
更新于 2019-12-18 12:44:23

355 次查看

假设我们有一个数字 n,我们必须找到 n 边凸多边形的对角线条数。所以如果 n = 5,那么对角线条数将是 5。由于这是一个 n 边凸多边形,从每个顶点我们可以画出 n – 3 条对角线,留下两条相邻的顶点和它本身。所以对于 n 个顶点,它将是 n*(n-3),但由于我们考虑了两次,所以它将是 n(n – 3)/2。示例 现场演示#include using namespace std; int diagonalCount(int n) {    return n * (n - 3) / 2; } int main() {    int n = 8;    cout

在 C++ 中查找两个数字之间的最小距离

Arnab Chakraborty
更新于 2019-12-18 12:43:26

920 次查看

假设我们有一个未排序的数组 A,以及两个数字 x 和 y。我们必须找到 A 中 x 和 y 之间的最小距离。数组也可以包含重复元素。所以如果数组是 A = [2, 5, 3, 5, 4, 4, 2, 3],x = 3 且 y = 2,那么 3 和 2 之间的最小距离仅为 1。为了解决这个问题,我们必须遵循以下步骤,从左到右遍历数组,并在找到 x 或 y 时停止。然后将该位置的索引存储到 prev中现在遍历... 阅读更多

在 C++ 中查找具有恰好 k 个奇数的最长子数组

Arnab Chakraborty
更新于 2019-12-18 12:41:44

63 次查看

假设我们有一个包含 n 个元素的数组。问题是找到具有恰好 k 个奇数的最长子数组。所以如果 A = [2, 3, 4, 11, 4, 12, 7],并且 k = 1,那么输出将是 4,子数组是 [4, 11, 4, 12]我们可以使用滑动窗口来解决这个问题。任务如下:初始化 max := 0,count := 0,start := 0对于 i 的范围从 0 到 n – 1,执行以下操作如果 arr[i] mod 2 不为 0,则将 count 增加 1当 count > k 且 start k && start

在 C++ 中查找具有给定约束的矩阵中的最长路径

Arnab Chakraborty
更新于 2019-12-18 12:38:25

454 次查看

假设我们有一个 n 阶方阵。它包含所有不同的元素。所以我们必须找到最大长度的路径,这样路径上的所有单元格都按递增顺序排列,差值为 1。从一个单元格我们可以移动到四个方向。左、右、上和下。所以如果矩阵是这样的:-129538467那么输出将是 4。因为最长路径是 6→7→8→ 9为了解决这个问题,我们将遵循以下思路。我们将计算以每个单元格开始的最长路径。一旦我们得到了所有单元格的最长路径,我们就返回... 阅读更多

在 C++ 中查找矩阵中的空洞数量

Arnab Chakraborty
更新于 2019-12-18 12:39:31

81 次查看

假设给定一个矩阵。我们必须找到矩阵中的空洞数量。当所有其他围绕它的元素都大于该元素时,一个元素被表示为空洞。所以如果矩阵是这样的:-456715456那么输出是 1。我们只需检查周围的元素并形成决策。示例#include #define MAX 100 using namespace std; int numberOfCavities(int array[][MAX], int n) {    int arr[n + 2][n + 2];    int count = 0;    for (int i = 0; i < n + 2; i++) {       for (int j = 0; j < ... 阅读更多

广告

© . All rights reserved.