leetcode简单(数组、字符串):[219, 268, 349, 414, 485, 541, 557, 821, 925, 977]
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
};
leetcode简单(数组、字符串):[219, 268, 349, 414, 485, 541, 557, 821, 925, 977]的更多相关文章
- LeetCode 简单 -旋转字符串(796)
给定两个字符串, A 和 B. A 的旋转操作就是将 A 最左边的字符移动到最右边. 例如, 若 A = 'abcde',在移动一次之后结果就是'bcdea' .如果在若干次旋转操作之后,A 能变成B ...
- Redis 数据结构-简单动态字符串
Redis 数据结构-简单动态字符串 无边落木萧萧下,不尽长江滚滚来. 1.简介 Redis 之所以快主要得益于它的数据结构.操作内存数据库.单线程和多路 I/O 复用模型,进一步窥探下它常见的五种基 ...
- C#LeetCode刷题-字符串
字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) ...
- Redis的简单动态字符串实现
Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,sds)的抽象类 ...
- Redis数据结构之简单动态字符串SDS
Redis的底层数据结构非常多,其中包括SDS.ZipList.SkipList.LinkedList.HashTable.Intset等.如果你对Redis的理解还只停留在get.set的水平的话, ...
- 小白的Redis学习(一)-SDS简单动态字符串
本文为读<Redis设计与实现>的记录.该书以Redis2.9讲解Redis相关内容.请注意版本差异. Redis使用C语言实现,他对C语言中的char类型数据进行封装,构建了一种简单动态 ...
- redis_简单动态字符串
在redis中,C字符串(以'\0'结尾的字符数组)只用在一些无需对字符串值进行修改的地方,比如打印日志.其他情况,redis使用SDS - SimpleDynamicString 简单动态字符串,来 ...
- redis 系列3 数据结构之简单动态字符串 SDS
一. SDS概述 Redis 没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,并将SDS用作Redis的默 ...
- 图解Redis之数据结构篇——简单动态字符串SDS
图解Redis之数据结构篇--简单动态字符串SDS 前言 相信用过Redis的人都知道,Redis提供了一个逻辑上的对象系统构建了一个键值对数据库以供客户端用户使用.这个对象系统包括字符串对象 ...
- Redis中的简单动态字符串
Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型,并将SD ...
随机推荐
- AIRIOT物联网低代码平台如何配置OPC DA驱动?
AIRIOT物联网低代码平台提供了丰富的驱动,兼容了市面上95%以上的传感器.控制器及数据采集设备等,并且在持续增加中,能够快速.便捷地实现数据采集与控制功能. AIRIOT物联网低代码平台如何配置O ...
- MPI学习笔记(四):矩阵相乘的Cannon卡农算法
mpi矩阵乘法:C=αAB+βC 一.Cannon卡农算法基本介绍 1.二维矩阵串行乘法 两个n维方阵的乘法A×B=C的串行计算公式为: 下图是用图示来表示的这种计算规则: 2.二维块划分的思想 并行 ...
- VSCode配置JetBrains Mono字体
1. 下载JetBrains Mono字体 官网下载地址:https://www.jetbrains.com/lp/mono/ 2. 在VSCode配置字体 { "editor.fontFa ...
- [brief]虚拟机安装UbuntuServer
1.下载Ubuntu--Server镜像官网点击 2.Vmware15.x配置 2G /boot 4G swap(一倍或两倍于分配内存量) rest / or /+/home 3.terminal下安 ...
- NOIP模拟98(多校30)
T1 构造字符串 解题思路 不算特别难的题,但是有一点细节... 首先需要并茶几缩一下点,然后判断一下是否合法,由于我们需要字典序最小的,因此我们应当保证一个联通块中标号较小的点为根节点. 那么对于所 ...
- The sultion of P4959
problem & blog 首先我们看到 \(x,y\) 有可能为负数,所以我们先把它旋转到第一象限. 然后我们发现如果 \(x_a \ge x_b\) 且 \(y_a \ge y_b\) ...
- BC1-Hello Nowcoder
题目 解题思路 方案一: 这道题同输出 "Hello World!"解法相同,用 C 语言的格式输出函数 printf() 来完成即可. 具体代码如下: #include < ...
- C#.NET与JAVA互通之MD5哈希V2024
C#.NET与JAVA互通之MD5哈希V2024 配套视频: 要点: 1.计算MD5时,SDK自带的计算哈希(ComputeHash)方法,输入输出参数都是byte数组.就涉及到字符串转byte数组转 ...
- Bean Searcher v4.3.0 重大更新!
往期阅读: 我这样写代码,比直接使用 MyBatis 效率提高了 100 倍 最近火起的 Bean Searcher 与 MyBatis Plus 倒底有啥区别? Bean Searcher v3.8 ...
- Docker中部署单机Redis详细教程
1.拉取Redis镜像 # 拉取redis镜像,不指定版本则默认是最新版本 docker pull redis 2.查看镜像 # 列出本地镜像 docker images 3.准备配置文件路径 # 创 ...