c++ - 我怎样才能找到最大的数字串?
问题描述
有数组元素,例如:2 3 4 7 8。我需要向控制台写入最大的数字字符串,所以解决方案将是 2-4,因为 2 3 4 --> 4-2=2 大于7 8 -> 8-7=1
我需要找到最长的增长行,增加 1. 2 3 4 (2+1=3, 3+1=4 and 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)。
解决方案
以下函数将 int 数组和大小作为输入,如您的示例代码中所示。并返回最大增加的大小。它可能不是您正在寻找的确切内容,但您的问题不是很清楚。
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
}
推荐阅读
- amazon-web-services - 使用 ssh 克隆 Git
- c# - 当我将它们拖到 Unity 时,动画不起作用
- google-play - Playstore:无法上传,请重试
- python - 为什么当 4 个球到达底部而不是 3 个时我的游戏会暂停?
- sql - 如何从包含 json 查询的表中构建多活动卫星表?
- html - 在 nth-child 的 CSS 选择器中添加异常
- angular - 即使我在 entryComponents 数组中添加了组件,也会出现错误,因为找不到名称“ProductFormComponent”
- c++ - C++ 和 Rust 中“引用”的概念是否不同?
- reactjs - 子组件激活自动 onSubmit 父函数
- email - 在没有托管电子邮件的情况下使用 GSuite,如何使用 gscript MailApp 发送消息