当前位置: 首页 > news >正文

每日OJ_牛客_NC95数组中的最长连续子序列_排序+模拟_C++_Java

目录

牛客_NC95数组中的最长连续子序列_排序和模拟

题目解析

C++代码

Java代码


牛客_NC95数组中的最长连续子序列_排序+模拟

数组中的最长连续子序列_牛客题霸_牛客网


题目解析

排序 + 模拟。但是要注意处理数字相同的情况,还要注意去重。

排序后使用一个变量count来记录当前有序序列的长度。

  • 如果当前元素比前一个大1,说明他们可以构成连续的序列,count就加1。
  • 如果相等就跳过。
  • 否则就不能构成连续的序列,count要重置为1,要重新统计。

C++代码

class Solution
{
public:int MLS(vector<int>& arr){sort(arr.begin(), arr.end());int n = arr.size(), ret = 0;for(int i = 0; i < n; ){int j = i + 1, count = 1;while(j < n){if(arr[j] - arr[j - 1] == 1){count++;j++;}else if(arr[j] - arr[j - 1] == 0){j++;}else{break;}}ret = max(ret, count);i = j;}return ret;}
};

Java代码

import java.util.*;
public class Solution
{public int MLS (int[] arr){Arrays.sort(arr);int n = arr.length, ret = 0;for(int i = 0; i < n; ){int j = i + 1, count = 1;while(j < n){if(arr[j] - arr[j - 1] == 1){count++;j++;}else if(arr[j] - arr[j - 1] == 0){j++;}else{break;}}ret = Math.max(ret, count);i = j;}return ret;}
}

http://www.mrgr.cn/news/39356.html

相关文章:

  • 【LLM大模型】Ollama 运行 GGUF 模型
  • 【数学二】一元函数微分学- 利用微分的概念、定理、几何含义求解
  • 基本数据结构简记
  • 在Python中实现多目标优化问题(2)
  • Springboot中基于注解实现公共字段自动填充
  • 第十一章 【前端】调用接口(11.1)——Vite 环境变量
  • 微商伙伴软件功能介绍
  • spring简短注入
  • 通信工程学习:什么是OFDM正交频分复用
  • 再次重逢,愿遍地繁花
  • 【C++】AVL树
  • P10483 小猫爬山
  • 深度估计任务中的有监督和无监督训练
  • 微信功能限制带来的创业机会案例分享
  • vue admin 若依框架 解决无权限时进入死循环的问题 auths
  • C++的6种构造函数
  • 前缀和(6)_和可被k整除的子数组_蓝桥杯
  • cloud-(Nacos)--注册中心原理-服务注册-服务发现
  • HTB:Three[WriteUP]
  • 如何使用 git 克隆特定 tag 的代码 ?