一个月速刷leetcodeHOT100 day03

最长连续序列

js 复制代码
// 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

// 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

  

// 示例 1:

  

// 输入:nums = [100,4,200,1,3,2]

// 输出:4

// 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

// 示例 2:

  

// 输入:nums = [0,3,7,2,5,8,4,6,0,1]

// 输出:9


// var longestConsecutive = function (nums) {

// if(nums.length === 0){

// return 0;

// }

// nums.sort((a, b) => a - b);

// let maxL = 1, curL = 1, curN = nums[0];

// for (let i = 1; i < nums.length; i++) {

// if (nums[i] === curN) {

// continue;

// }

// if (nums[i] - curN === 1) {

// curL++;

// } else {

// maxL = Math.max(maxL, curL);

// curL = 1;

// }

// curN = nums[i];

// }

// return Math.max(maxL, curL);

// };

  

let fn = function(nums){

if(nums.length === 0){

return 0

}

nums.sort((a,b)=>a-b)

let curN=nums[0]

let curL = 1;

for(let i =1;i<nums.length;i++){

if(nums[i] === curN){

continue

}

if(nums[i] - curN === 1){

curL++

}else{

maxL = Math.max(maxL, curL); // 更新最长连续序列的长度

curL = 1; // 重置当前连续序列的长度

}

curN = nums[i]

}

return maxL > curL ? maxL : curL

}

287. 寻找重复数

// 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。

  

// 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。

  

// 你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。

// 示例 1:

  

// 输入:nums = [1,3,4,2,2]

// 输出:2

// 示例 2:

  

// 输入:nums = [3,1,3,4,2]

// 输出:3

// 示例 3 :

// 输入:nums = [3,3,3,3,3]

// 输出:3

  

//用JS中的查找方法就行

var findDuplicate = function(nums){

for (let i = 0;i<nums.length;i++) {

if (nums.indexOf(nums[i]) !== i) {

return nums[i]

}

}

}
相关推荐
Silent starry sky8 分钟前
C++初学者指南-5.标准库(第二部分)–随机数生成
c++·算法
笑非不退16 分钟前
Wpf Image 展示方式 图片处理 显示
开发语言·javascript·wpf
liangshanbo12151 小时前
将 Intersection Observer 与自定义 React Hook 结合使用
前端·react.js·前端框架
Python私教1 小时前
Vue3封装通用确认删除按钮实战案例
前端·javascript·vue.js
林中白虎1 小时前
使用CSS实现酷炫加载
前端·css
资深前端之路1 小时前
vue2 将页面生成pdf下载
前端·vue.js·pdf
什么鬼昵称2 小时前
Pikachu-Cross-Site Scripting-xss之htmlspecialchars
前端·xss
猿java2 小时前
守护线程是什么?
java·前端·面试
朔北之忘 Clancy2 小时前
2021 年 12 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
蜡笔小新星2 小时前
在Python中,使用Pillow(PIL的更新分支)库来合并两张图片成一张上下结构的图片
前端·经验分享·python·学习·pillow