提供一个数组,其中部分数据是连续的,比如0~20的一组数据,其中少了一个数,假设少了11,那么连续中最大的数字就是10,

假如数组不是从0开始,假设是3~20,中间少了1个数,假如少了8,那么连续中最大数字就是7。

结合linq方法,大概的实现逻辑就是数组的第一个数作为起始数,利用where方法找到连续的数租,再取一个最大那个数即可。

先上测试结果:

测试1:

测试2:

代码如下:

/// <summary>
/// 获取一组数中几个连续数中最大的一个
/// </summary>
public static int GetContinueMaxNum(int[] arr)
{if(arr.Length==0)return -1;var startNum=arr[0];//如果数组最小值不是从0开始,需要获取起始值return arr.Where((p,index)=>p==index+startNum).Max(p=>p);
}

测试代码(Dump方法是linqPad工具专门打印结果方法,用vs测试可以改成console):

void Main()
{var rnd = new Random();for(int i=0;i<3;i++){var range=Enumerable.Range(rnd.Next(0,10),20).ToList();//产生一组连续的数组range.Remove( rnd.Next(3,20));//随机移除1个数字range.Dump();//打印移除后的数组var maxNum=GetContinueMaxNum(range.ToArray());maxNum.Dump();//打印连续的最大数}
}

C# 利用linq获取一组数中几个连续数中最大的一个数字相关推荐

  1. java中怎么让一个数倒转_java 输入一个数字,反转输出这个数字的值(实现方法)

    java 输入一个数字,反转输出这个数字的值(实现方法) 如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public ...

  2. win摄像头怎么在linux,如何利用Video4Linux获取摄像头数据

    Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放. 1. 摄像头的安装 在 Linux下 ...

  3. C语言/C++中怎么表示8进制数或者16进制数?(8进制数用数字0开头,16进制数用0x或者0X开头)

    在C语言里,整数有三种表示形式:十进制,八进制,十六进制. 其中以数字0开头,由0到7组成的数是八进制. 以0X或0x(0x中是数字0,不是大写字母O)开头,由0-9,A-F或a~f 组成是十六进制. ...

  4. JAVA 利用FFmpegFrame 获取rstp监控视频流截图

    JAVA 利用FFmpegFrameGrabber 获取rstp监控视频流截图工具 最近在项目内碰见一个需求,需要通过监控视频连接获取视频流截取流内的图片并保存的功能,在网上找了各种方案费了些时间,写 ...

  5. 谷歌中阻止冒泡在火狐中失效_如何在Google表格中乘数字

    谷歌中阻止冒泡在火狐中失效 Whether you have two integers, a few cells, or a couple of columns that need to be mul ...

  6. Excel MODE.MULT函数获取一组数值中出现频率最多的数据

    统计分析工作中,经常需要提取出现频率最高的数据,以双色球历史开奖号码为例,找出红球号码中出现频率最多的号码,使用MODE.MULT函数帮你找出最常中奖的号码. 在Excel中,如何获取一组数值中出现频 ...

  7. c语言中求大于的函数,c语言编写函数,求一组数中大于平均值的数的个数.

    C语言编写程序 给定一组数,求大于0,等于0,小于0的数据个数 #define N 10 main(){int num1=0,num2=0,num3=0,i;for(i=0;i 一道C语言题目:求一组 ...

  8. c#获取对象的唯一标识_在 Java 中利用 redis 实现分布式全局唯一标识服务

    作者: 杨高超 juejin.im/post/5a4984265188252b145b643e 获取全局唯一标识的方法介绍 在一个IT系统中,获取一个对象的唯一标识符是一个普遍的需求.在以前的单体应用 ...

  9. ML之MLiR:利用多元线性回归法,从大量数据(csv文件)中提取五个因变量(输入运输任务总里程数、运输次数、三种不同的车型,预测需要花费的小时数)来预测一个自变量

    ML之MLiR:利用多元线性回归法,从大量数据(csv文件)中提取五个因变量(输入运输任务总里程数.运输次数.三种不同的车型,预测需要花费的小时数)来预测一个自变量 输出结果 代码设计 from nu ...

最新文章

  1. 阿里面试: 说说强引用、软引用、弱引用、虚引用吧
  2. jupyter notebook 插入图片
  3. Python编程基础:第十九节 索引Index Operator
  4. 项目管理各管理内部重点
  5. MAPLAP开发环境中release模式和debug模式烧写.hex文件的不同之处
  6. HTML5: 两个viewport的故事(第二部分)
  7. Ubuntu 16.04 LTS安装Docker并使用加速器
  8. spring aop示例_Spring批处理示例
  9. 22. Element lang 属性
  10. 谷粒商城:02. 数据库初始化以及SQL语句
  11. 设计不难学,这10款软件总有一款适合你
  12. 计算机前置usb应用,usb前面不能用,详细教您解决电脑前置USB接口不能使用
  13. 第四章 Sysrepo连接与会话
  14. HE4484E泛海微5V USB 输入双节锂电池串联应用升压充电IC管理芯片
  15. AI - H2O - 安装与运行
  16. BI项目实施为什么成功率那么低
  17. MySQL ('root'@'%') does not exist的问题
  18. 增量式旋转编码器的使用,以arduino为例
  19. 我也写了部lt;西游记gt;
  20. Jam的计数法--Java

热门文章

  1. 如何构建自己的知识体系,提升个人竞争力
  2. 关于NodeJS中JSON5的相关配置和使用
  3. 走进深圳博物馆(一)
  4. python数据分析岗位_数据分析类岗位目前的就业形势是怎样?
  5. 如何从零做私域流量社群运营sop工作步骤管理规划方案表格计划
  6. KEMET推出业界容积效率最高的EMI-RFI三相滤波器
  7. Java版cityHash64 与cityHash128算法的实现
  8. AI 数学基础知识-方向导数与梯度、范数矩阵、SVD分解、PCA、凸函数
  9. win7安装不了vmtools
  10. coco数据集大小分类_COCO 数据集使用说明书