199 次浏览
在这里,我们将了解如何检查给定的总和是否可以通过添加一些非相邻的斐波那契数来获得,如果是,这些数是什么?例如,如果给定的总和值为 10,则它是 8 和 2 的和。8 和 2 都是斐波那契项,并且它们不相邻。让我们看看算法以了解其思想。算法nonNeighbourFibo(sum)开始 当 sum > 0 时,执行 fibo := 不大于 sum 的最大斐波那契项 打印 fibo sum := sum - fibo 结束结束示例#include using ... 阅读更多
200 次浏览
在这里,我们将了解另一种称为 Bogo 排序的排序算法。这种排序也称为排列排序、愚蠢排序、慢速排序等。这种排序算法是一种特别无效的排序技术。它属于生成和测试范式。它重复生成排列,直到它被排序。其概念非常简单。只要列表未排序,就随机打乱元素。算法bogoSort(array, n)开始 当 arr 未排序时,执行 打乱 arr 结束结束示例#include #include using namespace std; bool isSorted(int arr[], int n) { //检查列表是否已排序 或没有 ... 阅读更多
185 次浏览
在这里,我们将了解类的内部机制。在此之前,我们将了解默认构造函数,它们与内部机制相关。默认构造函数是由用户或编译器定义的一个构造函数,它不接受任何参数。现在问题来了,为什么要使用默认构造函数?如果没有提供默认构造函数,编译器将隐式声明默认构造函数。默认构造函数用于初始化一些类的内部机制。它不会影响类的成员变量。编译器在某些不同情况下插入默认构造函数。假设一个类从另一个具有默认构造函数的类派生,或者一个 ... 阅读更多
99 次浏览
在这里,我们将了解一个问题。我们将添加两个数组元素并将它们存储到另一个数组中。但我们将遵循一些约束。这些约束如下所示 -加法应从两个数组的第 0 个索引开始如果和超过一位数,则将其拆分,并将每个数字放在相应的位上较大输入数组的剩余数字将存储在输出数组中让我们看看算法以了解其思想。算法addArrayConstraints(arr1, arr2)开始 定义空向量 out i := 0 当 i 小于 arr1.length 和 arr2.length 时,执行 ... 阅读更多
261 次浏览
在本节中,我们将了解一个有趣的问题。假设给定一个数字。我们必须将此数字增加 1。这是一项非常简单的任务。但在这里,我们将数字作为数组放置。该数字的每个数字都作为数组的一个元素放置。如果数字是 512,则它将存储为 {5, 1, 2}。并且我们还必须使用递归方法来增加数字。让我们看看算法以了解其清晰的思想。算法increment(arr, n, index)最初,index 的默认值为 0开始 如果 index < n,则 ... 阅读更多
143 次浏览
在这里,我们将了解如何将 1 加到存储在链表中的数字上。在链表中,存储数字的每个数字。如果数字是 512,则它将存储如下所示 -512 = (5)-->(1)-->(2)--->NULL我们将列表提供给 increment 函数。在添加 1 后,它将返回另一个列表。在这里,我们使用 C++ STL 链表。让我们看看算法以获得更好的了解。算法incrementList(l1)开始 carry := 1 res := 一个空列表 对于 l1 中的每个节点 n,从后到前扫描,... 阅读更多
233 次浏览
在这里,我们将了解一个有趣的问题。假设给定一个大小为 n 的二进制数组。这里 n > 3。真值或 1 值表示活跃状态,而 0 或假值表示非活跃状态。还给定另一个数字 k。我们必须找到 k 天后的活跃或非活跃单元格。每天,如果第 i 个单元格的左右单元格不相同,则该单元格将处于活跃状态,如果它们相同,则该单元格将处于非活跃状态。最左边的单元格和最右边的单元格在其前面和后面没有单元格。因此,最左边和 ... 阅读更多
368 次浏览
老鼠走迷宫问题是回溯法中众所周知的问题之一。在这里,我们将看到这个略有变化的问题。假设给定一个 NxN 迷宫 M。起点是左上角 M[0, 0],终点是右下角 M[N – 1, N - 1]。一只老鼠被放置在起点。我们的目标是找到一条从起点到终点的路径,老鼠可以通过该路径到达目的地。这里老鼠可以跳跃(变化)。现在有一些限制老鼠可以向 ... 阅读更多
113 次浏览
在这里,我们将了解一个谜题。假设有一个程序如下所示,我们必须说明输出是什么以及为什么?示例#include using namespace std; int main() { int x = 0xab; ~x; cout
147 次浏览
在这里,我们将了解另一个名为煎饼排序的排序问题。这个问题很简单。我们有一个数组。我们必须对其进行排序。但是我们只能使用一个名为 rev(arr, i) 的操作。这将反转 arr 从 0 到第 i 个位置的元素。这个想法类似于选择排序。我们重复将最大元素放在末尾,并减小数组的大小。让我们看看算法以了解其思想。算法pancakeSort(arr, n)开始 size := n 当 size > 1 时,执行 index := arr 从 [0 到 size 中最大元素的索引 ... 阅读更多