`
fxly0401
  • 浏览: 147990 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)求一个数字数组里的最大连续数字的个数

阅读更多
问题:
求一个数字数组里的最大连续数字的个数。 比如 3, 4, 4, 4, 2, 2, 3, 4  =>  return 3。此题为google的面试题。
分析:
设置两个变量:全局最大连续数字个数:maxSucc; 以及局部连续数字个数:  temp。从第二个数字开始,如果当前数字比前一个数字大1,则 temp++,遇到不满足条件的,则比较maxSucc 和 temp, 如果temp 比maxSucc 大,则更新maxSucc。
代码:
[java] view plaincopy
public static int maxSuccessive(int[] array) { 
     
    if (array == null || array.length == 0) return -1; 
     
    int maxSucc = 1; 
    int temp = 1; 
     
    for(int i = 1; i < array.length; i++) { 
        if (array[i] -1 == array[i - 1]) { 
            temp++; 
        } else { 
            if (temp > maxSucc) { 
                maxSucc = temp; 
            } 
            temp = 1; 
        } 
    } 
    //very important, do not return maxSucc 
    return maxSucc > temp ? maxSucc : temp; 

转载:http://blog.csdn.net/beiyeqingteng
分享到:
评论

相关推荐

    java 判断一个数组中的数值是否连续相邻的方法

    在 Java 编程语言中,判断一个数组中的数值是否连续相邻是一个常见的问题。今天,我们将分享一种简洁的方法来解决这个问题。 方法原理 该方法的主要思想是,遍历数组,并记录数组中的最小值和最大值。如果数组中的...

    c语言数组练习题及答案

    编写一个函数`int fun(int a[], int n, int b[])`,该函数接收一个整型数组`a[]`、其长度`n`和另一个整型数组`b[]`作为参数。该函数按照元素最后三位数字的大小进行排序,并且当最后三位相同的情况下按元素本身的...

    一个数分成几个连续整数和

    标题中的“一个数分成几个连续整数和”指的是在数学领域中的一种问题类型,它涉及到将一个给定的正整数表示为若干个连续整数的和。这种问题在算法设计、数学竞赛以及数据分析中都有可能出现。连续整数和的问题通常...

    C语言猜四个数字游戏

    2. **数据结构**:为了存储四个待猜的数字,可以使用一个整型数组`int numbers[4]`。数组是一种高效的数据结构,能方便地处理固定数量的元素。 3. **用户输入处理**:C语言的`scanf()`函数可以用来获取用户的输入,...

    javascript入门笔记

    从弹框中录入一个数字表示考试成绩(score) 如果 成绩为 100 分 ,提示 :满分 如果 成绩 &gt;= 90 分 ,提示 :优 如果 成绩 &gt;= 80 分 ,提示 :良 如果 成绩 &gt;= 60 分 ,提示 :及格 否则 :提示 不及格 2、函数...

    CH数组和字符串实用PPT学习教案.pptx

    请注意,数组的索引是从0开始的,因此`a[0]`是数组的第一个元素,`a[9]`是最后一个元素。 数组名`a`实际上代表数组的第一个元素的地址,这意味着`a`和`&a[0]`是等价的。在内存中,数组的元素是连续存储的,数组定义...

    上海电机学院C语言实训答案

    (12)编写程序验证以下说法:输入一个4位数,该数个、十、百、千位上的数互不相等,由个、十、百、千位上的数组成一个最大数和一个最小数,最大数-最小数,构成一个新的4位数。反复以上运算,使其最终结果为:6174...

    在数组中查找数据PPT学习教案.pptx

    数组的下标是标识元素位置的数字,每个数组元素都有一个唯一的顺序号。下标必须在声明数组时设定的边界内,通常默认下界为0,但可自定义。数组长度指数组元素的个数,例如,一个有100个元素的数组长度就是100。声明...

    php数组函数序列之array_unshift() 在数组开头插入一个或多个元素

    在这个例子中,$a 是一个使用数字索引的数组。同样地,添加 "Horse" 后,所有的元素都会向后移动,"Horse" 成为数组的第一个元素。 从这两个例子我们可以看出,不管原数组是使用数字索引还是字符串索引,array_...

    php实现阿拉伯数字和罗马数字相互转换的方法

    然后定义了与`dec2roman`相同的罗马数字数组。接下来,将输入的罗马数字字符串转换为包含相应数值的数组。最后,遍历这个数值数组,根据罗马数字的规则计算出总和,返回结果。 `roman2dec`函数的工作原理如下: 1....

    剑指offer算法题Python源码带详细思路注释(68道).zip

    翻转单词顺序列,反转链表,斐波那契数列,复杂链表的复制,构建乘积数组,和为s的连续整数序列,和为s的两个数字,滑动窗口的最大值,机器人的运动范围,剑指offer-python实现.docx,矩形覆盖,矩阵中的路径,连续子数组的最大...

    C大学教程数组与C标准库类模板实用PPT学习教案.pptx

    - 其中“数组元素的个数”必须是一个正值的常量表达式,在编译时就可以确定其值。例如:`int a[5];` 表示声明了一个包含5个整型元素的一维数组。 - 编译器会为数组分配足够的内存空间,使得可以存储指定数量的指定...

    php数组操作[定义].pdf

    二维数组是数组的一个重要概念,它是指数组的元素也是数组,这在处理多维度数据时非常有用。例如: ```php $str = array( "网络编程语言" =&gt; array("PHP", "JSP", "ASP"), "体育项目" =&gt; array("m" =&gt; "足球", "n...

    《算法最优解(第一版)》剑指Offer题解校招求职刷题必备.docx

    11. **和为S的两个数字**:给定一个整数数组和目标和S,找出数组中和为目标和的两个数,可以使用哈希表进行一次遍历来解决。 12. **和为S的连续正整数序列**:找到连续正整数序列的和为S,可以通过公式n*(n+1)/2与S...

    前端大厂最新面试题-算法.docx

    * 如何求数组的最大值和最小值? * 如何求两个数的最大公约数? * 如何求两个数的最小公倍数? * 实现 IndexOf 方法? * 判断一个字符串是否为回文字符串? * 实现一个累加函数的功能。 * 使用 reduce 方法实现 ...

    全国软件专业人才设计与开发大赛试题解答.docx

    给定一个字符数组`seq`和一个字符`card`,以及序列长度`len`,函数`operate`需实现将`card`插入到`seq`中的正确位置,使得排序后的序列满足升序排列。在示例中,函数未完成,需要补充实现插入操作的逻辑。 3. 题目...

    算法题总结 2741

    20. **调整数组顺序使奇数位于偶数前面**:可以使用双指针法,一个指针从左向右,一个指针从右向左,交换不符合条件的元素。 21. **将一组数拼接成最大数字**:需要理解字符串排序的原理,并进行适当转换。 22. **...

    统计整数个数

    - 初始化一个空数组 `result` 用于存储找到的整数。 - 初始化一个计数器 `count` 用于记录整数的数量。 2. **遍历字符串**: - 使用 for 循环或 while 循环遍历字符串的每一个字符。对于每个字符,检查它是否为...

    《剑指Offer》题目及代码.zip

    33. 把数组中的数排成一个最小的数 34. 求第N个丑数 35. 第一个出现一次的字符 36. 数组中逆序对的个数 37. 两个链表的第一个公共节点 38. 数字在排序数组中出现的次数 39. 二叉树的深度 40. 数组中只出现一...

    《C 程序员面试算法宝典》读书笔记模板x.pptx

    9. 如何求数组连续最大和 字符串篇 1. 如何求一个字符串的所有排列 2. 如何求两个字符串的最长公共子串 3. 如何判断两个字符串是否为换位字符串 4. 如何判断两个字符串的包含关系 5. 如何对由大小写字母组成的字符...

Global site tag (gtag.js) - Google Analytics