C# 利用linq获取一组数中几个连续数中最大的一个数字
提供一个数组,其中部分数据是连续的,比如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获取一组数中几个连续数中最大的一个数字相关推荐
- java中怎么让一个数倒转_java 输入一个数字,反转输出这个数字的值(实现方法)
java 输入一个数字,反转输出这个数字的值(实现方法) 如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public ...
- win摄像头怎么在linux,如何利用Video4Linux获取摄像头数据
Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放. 1. 摄像头的安装 在 Linux下 ...
- C语言/C++中怎么表示8进制数或者16进制数?(8进制数用数字0开头,16进制数用0x或者0X开头)
在C语言里,整数有三种表示形式:十进制,八进制,十六进制. 其中以数字0开头,由0到7组成的数是八进制. 以0X或0x(0x中是数字0,不是大写字母O)开头,由0-9,A-F或a~f 组成是十六进制. ...
- JAVA 利用FFmpegFrame 获取rstp监控视频流截图
JAVA 利用FFmpegFrameGrabber 获取rstp监控视频流截图工具 最近在项目内碰见一个需求,需要通过监控视频连接获取视频流截取流内的图片并保存的功能,在网上找了各种方案费了些时间,写 ...
- 谷歌中阻止冒泡在火狐中失效_如何在Google表格中乘数字
谷歌中阻止冒泡在火狐中失效 Whether you have two integers, a few cells, or a couple of columns that need to be mul ...
- Excel MODE.MULT函数获取一组数值中出现频率最多的数据
统计分析工作中,经常需要提取出现频率最高的数据,以双色球历史开奖号码为例,找出红球号码中出现频率最多的号码,使用MODE.MULT函数帮你找出最常中奖的号码. 在Excel中,如何获取一组数值中出现频 ...
- c语言中求大于的函数,c语言编写函数,求一组数中大于平均值的数的个数.
C语言编写程序 给定一组数,求大于0,等于0,小于0的数据个数 #define N 10 main(){int num1=0,num2=0,num3=0,i;for(i=0;i 一道C语言题目:求一组 ...
- c#获取对象的唯一标识_在 Java 中利用 redis 实现分布式全局唯一标识服务
作者: 杨高超 juejin.im/post/5a4984265188252b145b643e 获取全局唯一标识的方法介绍 在一个IT系统中,获取一个对象的唯一标识符是一个普遍的需求.在以前的单体应用 ...
- ML之MLiR:利用多元线性回归法,从大量数据(csv文件)中提取五个因变量(输入运输任务总里程数、运输次数、三种不同的车型,预测需要花费的小时数)来预测一个自变量
ML之MLiR:利用多元线性回归法,从大量数据(csv文件)中提取五个因变量(输入运输任务总里程数.运输次数.三种不同的车型,预测需要花费的小时数)来预测一个自变量 输出结果 代码设计 from nu ...
最新文章
- 阿里面试: 说说强引用、软引用、弱引用、虚引用吧
- jupyter notebook 插入图片
- Python编程基础:第十九节 索引Index Operator
- 项目管理各管理内部重点
- MAPLAP开发环境中release模式和debug模式烧写.hex文件的不同之处
- HTML5: 两个viewport的故事(第二部分)
- Ubuntu 16.04 LTS安装Docker并使用加速器
- spring aop示例_Spring批处理示例
- 22. Element lang 属性
- 谷粒商城:02. 数据库初始化以及SQL语句
- 设计不难学,这10款软件总有一款适合你
- 计算机前置usb应用,usb前面不能用,详细教您解决电脑前置USB接口不能使用
- 第四章 Sysrepo连接与会话
- HE4484E泛海微5V USB 输入双节锂电池串联应用升压充电IC管理芯片
- AI - H2O - 安装与运行
- BI项目实施为什么成功率那么低
- MySQL ('root'@'%') does not exist的问题
- 增量式旋转编码器的使用,以arduino为例
- 我也写了部lt;西游记gt;
- Jam的计数法--Java