有数组元素,例如:2 3 4 7 8。我需要向控制台写入最大的数字字符串,因此解决方案将是2-4,因为2 3 4 --> 4-2=2大于7 8 -> 8-7=1
我需要找到最长的增长行,它增加了1.234 (2+1=3,3+1=4和4+1= 7都是错的。在2,3,4行中有2个元素,它是最长的,而不是7,8,它只有1
int first=0;
int last=0;
for(int i=0; i < n; i++)
{
if(t[i]-t[i-1]==1)
{
first=t[i];
}
else
{
last=t[i];
}
}
使用此代码,解决方案是7 8,因此代码将是最后一对(7 8)。
发布于 2019-10-31 08:03:42
下面的函数接受一个整型数组和大小作为输入,如示例代码所示。并返回最大递增大小。这可能不是你想要的,但你的问题不是很清楚。
int func(int[] arr, int size) {
// trivial case
if (size == 0)
return 1;
int max = 1; // At least 1 when there is an element
int cur = 1; // At least 1 when there is an element
int first;
int second;
int cur_first;
cur_first = arr[0];
for (int i = 0; i < size-1; i++) {
if (arr[i] == arr[i+1] -1) {
cur ++;
}
else {
if (cur > max) {
max = cur;
first = cur_first;
second = arr[i];
}
cur = 1;
cur_first = arr[i+1];
}
}
if (cur > max) {
cur = max;
first = cur_first;
second = arr[size-1];
}
return max
}
https://stackoverflow.com/questions/58634979
复制相似问题