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 ...
随机推荐
- vue多页面应用
多页面应用本身和单页面应用没什么差别,无非是多了几个入口点. 入口点多的话,还可以写个函数扫描路径取添加入口点. 比较让人好奇的是路径的问题.我们要开发的时候要体现目录层级接口,所以入口文件是一层套一 ...
- Redis CPU过高排查
Redis CPU过高 测试环境经常卡住,经过排查是鉴权的不稳定,鉴权又经过redis查询.来到redis机器,发现cpu100%.redis的锅 top redis竟然cpu使用率达到100% 保存 ...
- VMware Workstation安装Ubuntu窗口太小的解决方式
1.选择菜单中的:虚拟机--------安装VMware-Tools 2.点击DVD图标 3.将压缩文件复制到桌面 4.解压压缩文件 5.进入解压后的目录,执行命令: sudo perl vmware ...
- ra6m3之adc踩坑日志(基于rt-thread )
问题描述 1.已经用fsp工具正确配置Pins 2.已经用fsp工具正确配置Stacks 3.问题是根本没有在RT-Thread Studio看到HAL相关的ADC代码,也没看到Settings里边的 ...
- 【论文笔记】轻量级网络MobileNet
[深度学习]总目录 MobileNet V1:<MobileNets: Efficient Convolutional Neural Networks for MobileVision Appl ...
- Qt QMainWindow的使用
参考视频:黑马科技:https://www.bilibili.com/video/BV1XW411x7NU?p=19 QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu b ...
- 引用(包含) import wxss样式
引用(包含) 把模板定义到外部,然后多个页面间可以共用使用定义的模板WXML结构显示. https://developers.weixin.qq.com/miniprogram/dev/referen ...
- form表单提交后,页面弹出成功或者失败的信息
Ssm 中用RedirectAttributes做提示消息` @RequiresPermissions("hic:zybl:hicZybl:edit") @RequestMappi ...
- Java中的Collection集合(单列集合)
1.集合概述 集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合与数组的区别: (1)数组的长度是固定的,集合的长度是可变的. (2)数组中存储的是同一类型的元素,可以存储基本数据类型 ...
- Linux 提权-Capabilities
本文通过 Google 翻译 Capabilities – Linux Privilege Escalation - Juggernaut-Sec 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字 ...