在本文中,给定一个表示数字的字符串。我们的任务是在 C++ 中创建一个程序,以查找给定数字中 M 个连续数字的最大和与积。我们找到所有长度为 M 的连续数字序列,并返回最大和与积。在数学中,连续数字定义为按从小到大的顺序依次排列的数字,并且中间没有缺失的数字。这个问题可以通过遍历数字的字符串表示来迭代,换句话说,我们考虑长度为... 阅读更多
在本教程中,我们将讨论一个查找最大交替子序列和的程序。为此,我们将提供一个整数数组。我们的任务是找到交替子序列的最大和,即先递减,然后递增,然后递减,依此类推的序列。示例实时演示#include using namespace std; //返回最大交替序列和 int maxAlternateSum(int arr[], int n) { if (n == 1) return arr[0]; int dec[n]; memset(dec, 0, sizeof(dec)); int inc[n]; memset(inc, 0, sizeof(inc)); dec[0] = inc[0] = arr[0]; int flag = 0 ; for (int i=1; i
在本教程中,我们将讨论一个查找重复连接后创建的数组中的最大子数组和的程序。为此,我们将提供一个数组和一个整数 K。我们的任务是在给定数组重复 K 次时找到具有最大元素的子数组。示例实时演示#include using namespace std; //返回最大子数组和 int maxSubArraySumRepeated(int a[], int n, int k) { int max_so_far = INT_MIN, max_ending_here = 0; for (int i = 0; i < n*k; i++) { max_ending_here = max_ending_here + a[i%n]; if ... 阅读更多
在本教程中,我们将讨论一个查找排除某些元素的最大子数组和的程序。为此,我们将提供两个大小分别为 M 和 N 的数组。我们的任务是在第一个数组中找到一个子数组,使得该子数组中的任何元素都不存在于第二个数组中,并且子数组的元素总和最大。示例实时演示#include using namespace std; //检查元素是否在第二个数组中 bool isPresent(int B[], int m, int x) { for (int i = 0; i < m; i++) if (B[i] == x) ... 阅读更多
在本教程中,我们将讨论一个查找最大子数组大小的程序,使得该大小的所有子数组的和都小于 k。为此,我们将提供一个大小为 N 的数组和一个整数 k。我们的任务是找到子数组的长度,使得给定数组中该长度的所有子数组的和都小于或等于 k。示例实时演示#include using namespace std; //查找最大长度子数组 int bsearch(int prefixsum[], int n, int k) { int ans = -1; //执行二分查找 int left = ... 阅读更多
在本教程中,我们将讨论一个查找在向所有人发放奖金且不超过 100 分后通过的最大学生人数的程序。为此,我们将提供一个包含 N 个学生分数的数组。我们的任务是通过向每个学生发放相同数量的奖金分数来让更多学生通过考试(需要 50 分),而没有任何学生超过 100 分。示例实时演示#include #include using namespace std; int check(int n, int marks[]) { int* x = std::max_element(marks, marks+5); int bonus = 100-(int)(*x); int c = 0; for(int i=0; i= 50) ... 阅读更多