给定一棵 N 叉树和一个数字,我们必须计算大于给定数字的节点个数。让我们来看一个例子。输入 tree = [[4], [1, 2], [3, 5]] n = 2 输出 3 有 3 个节点的值大于 n。算法初始化 N 叉树。将计数初始化为 0。当您找到一个值大于 n 的节点时,将计数加 1。获取当前节点的子节点。迭代所有子节点并递归调用相同函数以计算节点。返回计数。实现以下是 C++ 中上述算法的实现 #include using namespace std; struct ... 阅读更多
给定一个数组和目标元素的索引。我们必须计算其右侧大于给定元素的元素个数。让我们来看一个例子。输入 arr = [2, 3, 5, 1, 4, 2, 6] index = 3 输出 3 目标索引元素为 1。在其右侧有三个元素,即 4、2、6 大于 1。算法初始化数组和目标元素的索引。如果索引大于或等于数组的长度,则返回 -1。编写一个循环,从给定索引的下一个元素开始迭代。如果当前元素大于目标元素,则递增计数。返回计数。实现以下是 C++ 中上述算法的实现 #include using namespace std; int countGreaterElements(int arr[], int n, int index) { if (index >= n) { return -1; } int count = 0; for (int i = index + 1; i < n; i++) { if (arr[i] > arr[index]) { count++; } } return count; } int main() { int arr[] = {2, 3, 5, 1, 4, 2, 6}; int n = sizeof(arr) / sizeof(arr[0]); int index = 3; int result = countGreaterElements(arr, n, index); cout << result << endl; return 0; } 阅读更多
该方程的解为该方程的非负整数解的个数为 $\left(\begin{array}{c}n-k+1\ k\end{array}\right)$该方程的正整数解的个数为 $\left(\begin{array}{c}k-1\ n-1\end{array}\right)$将两者相加即可得到所需答案。让我们来看一个例子。输入 n = 4 k = 7 输出 140 算法初始化数字 n 和 k。查找非负数和正数的整数解。将两者相加。返回答案。实现以下是 C++ 中上述算法的实现 #include using namespace std; int factorial(int n) { int product = 1; for (int i = 2; i 阅读更多