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 ...
随机推荐
- java学习之旅(day.22)
CSS 前端三要素:HTML.CSS.javaScript 结构 表现 交互 相当于骨头,表皮 ,血肉吧 如何学习CSS CSS是什么 CSS怎么用(快速入门) CSS选择器(重点+难点) 美化网 ...
- .NET Aspire 正式发布:简化 .NET 云原生开发
.NET团队北京时间2024年5月22日已正式发布.NET Aspire ,在博客文章里做了详细的介绍:.NET Aspire 正式发布:简化 .NET 云原生开发 - .NET 博客 (micros ...
- 部署springboot+vue项目文档(若依ruoyi项目部署步骤)
摘自:https://blog.csdn.net/Dreamboy_w/article/details/104389797 部署springboot+vue项目文档(若依ruoyi项目部署步骤)一:部 ...
- Swoole 源码分析之 epoll 多路复用模块
首发原文链接:Swoole 源码分析之 Http Server 模块 大家好,我是码农先森. 引言 在传统的IO模型中,每个IO操作都需要创建一个单独的线程或进程来处理,这样的操作会导致系统资源的大量 ...
- HashMap设置初始容量一直都用错了?
1 背景 今天在代码审查的时候,发现一位离职的同事留下了这样一串代码: Map<String,String> map = new HashMap<>((int)(list.si ...
- 代码审计——基础(JAVASE)
JAVASE 目录 JAVASE 基本语法 关键字 变量 作业1 作业完成 第一题:简单的介绍了java语言历史,优势.发展 第二题:特性:面向对象.跨平台.封装.继承.多态.抽象.扩展性.健壮性.垃 ...
- react多级路由 重定向与404定义
在有一些功能中,往往请求地址的前缀是相同的,不同的只是后面一部份,此时就可以使用多级路由(路由嵌套)来实现此路由的定义实现. 例: 路由规则如下 admin/index admin/user 它们路由 ...
- C#窗体内控件大小随窗体等比例变化
一.首先定义全局变量 1 private float X;//当前窗体的宽度 2 private float Y;//当前窗体的高度 3 private bool IsFirst = true; 二. ...
- 红米K70E支付宝无指纹支付选项的解决方法
红米K70E这台手机,支付宝里无指纹支付选项,百度了一下,也没结果.自己摸索了下,终于折腾出了指纹支付. 解决方法: 在手机-设置-指纹.面部与密码-指纹解锁-指纹支付-支付宝-更新证书. 杀掉支付宝 ...
- 小米 红米 Redmi MIUI 5G开关
小米 红米 Redmi MIUI 5G开关 1.打开手机拨号界面输入 *#*#54638#*#* 之后拨号界面底部会显示display 5G network menu (显示5G网络菜单) 注意:先是 ...