leetcode简单(数组、字符串):[219, 268, 349, 414, 485, 541, 557, 821, 925, 977]
时间:2023-01-30
本文章向大家介绍leetcode简单(数组、字符串):[219, 268, 349, 414, 485, 541, 557, 821, 925, 977],主要内容包括219. 存在重复元素、268. 丢失的数字、349. 两个数组的交集、414. 第三大的数、485. 最大连续 1 的个数、541. 反转字符串 II、557. 反转字符串中的单词 III、821. 字符的最短距离、925. 长按键入、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
目录
219. 存在重复元素
var containsNearbyDuplicate = function(nums, k) {
for (let i = 0; i < nums.length; i++) {
let j = nums.indexOf(nums[i], i + 1)
if (j > -1 && Math.abs(i - j) <= k) {
return true
}
}
return false
};
268. 丢失的数字
var missingNumber = function(nums) {
nums.sort((a, b) => a - b)
for (let i = 0; i <= nums.length; i++) {
if (i !== nums[i]) {
return i
}
}
};
349. 两个数组的交集
var intersection = function(nums1, nums2) {
let set1 = new Set(nums1)
let set2 = new Set(nums2)
return [...set1].filter(n => set2.has(n))
};
414. 第三大的数
var thirdMax = function(nums) {
let newArr = Array.from(new Set(nums)).sort((a, b) => b - a)
return newArr[2] || newArr[2] == 0 ? newArr[2] : newArr[0]
};
485. 最大连续 1 的个数
var findMaxConsecutiveOnes = function(nums) {
let oneList = nums.join('').split('0').filter(i => i).map(i => i.length)
return Math.max(...oneList) | 0
};
541. 反转字符串 II
var reverseStr = function(s, k) {
let tmpK = []
let result = []
for (let i = 0; i < s.length; i++) {
tmpK.push(s[i])
if (tmpK.length == k || (tmpK.length < k && i == s.length - 1)) {
tmpK = tmpK.reverse()
}
if (tmpK.length == k * 2 || i == s.length - 1) {
result = result.concat(tmpK)
tmpK = []
}
}
return result.join('')
};
557. 反转字符串中的单词 III
var reverseWords = function(s) {
var arr = s.split(' ')
var result = []
for (let i = 0; i < arr.length; i++) {
result.push(arr[i].split('').reverse().join(''))
}
return result.join(' ')
};
821. 字符的最短距离
var shortestToChar = function(s, c) {
let res = new Array(s.length).fill(s.length)
for (let i = 0; i < s.length; i++) {
if (s[i] == c) {
for (let j = 0; j < s.length; j++) {
res[j] = Math.min(Math.abs(i - j), res[j])
}
}
}
return res
};
925. 长按键入
var isLongPressedName = function(name, typed) {
let reg = /([a-z])\1*/g
let arr1 = name.match(reg)
let arr2 = typed.match(reg)
if (arr1.length !== arr2.length) return false
for (let i = 0; i < arr1.length; i++) {
if (arr1[i].length > arr2[i].length || arr1[i][0] !== arr2[i][0]) {
return false
}
}
return true
};
977. 有序数组的平方
var sortedSquares = function(nums) {
let newArr = nums.map(n => Math.abs(n)).sort((a, b) => a - b)
let res = newArr.map(n => n * n)
return res
};
原文地址:https://www.cnblogs.com/echoyya/p/17077059.html
- R语言构建追涨杀跌量化交易模型
- 美团点评境外度假团队前端项目开发实践总结
- 在jfinal中使用druid,并配置查看权限
- java中遇到过的String的一些特性
- Kaggle案例——使用scikit-learn解决DigitRecognition问题
- 基于Kaggle数据的词袋模型文本分类教程
- javascript中遇到的字符串对象处理
- 传统企业站开发 - 页面布局
- AngularJS中使用service,并同步数据
- 2016.05 第四周 群问题分享
- angularjs中 *.min.js.map 404的问题
- Git与通过Git添加提交文件
- Facebook社交网络R语言分析
- 初次使用AngularJS中的ng-view,路由控制
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法