力扣算法
AtalantaDavis
女程序员一只
展开
-
【力扣每日一题】917. 仅仅反转字母
题目给你一个字符串 s ,根据下述规则反转字符串:所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。返回反转后的 s 。地址:https://leetcode-cn.com/problems/reverse-only-letters/题解解题思路字符串,对撞指针,具体定义可看https://blog.csdn.net/AtalantaDavis/article/details/122692769代码var reverseOnlyLetters = function(s原创 2022-02-23 12:57:19 · 309 阅读 · 0 评论 -
【力扣算法刷题笔记】3.滑动窗口
定义滑动窗口:简单的意思就是说,定义了两个指针(左指针及右指针),循环快指针,不断判断两个指针之间的是否符合条件,如果不符合条件左指针+1下面是伪代码const functionName = (s) => { // Step 1: 定义需要维护的变量们 (对于滑动窗口类题目,这些变量通常是最小长度,最大长度,或者哈希表) let x, y = ..., ... // Step 2: 定义窗口的首尾端 (start, end), 然后滑动窗口原创 2022-02-18 13:53:37 · 282 阅读 · 0 评论 -
【力扣算法刷题笔记】2.双指针
定义双指针:指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,使用两个指针来达到目的对撞指针:一个左指针(首部),一个右指针(尾部)。快慢指针:以不同策略在相同方向上移动。代码:练习一:反转字符串(对撞指针)地址:https://leetcode-cn.com/problems/reverse-string/编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一原创 2022-01-25 22:02:44 · 293 阅读 · 0 评论 -
【力扣每日一题】1688. 比赛中的配对次数
每日一题原创 2022-01-25 13:36:03 · 276 阅读 · 0 评论 -
【力扣每日一题】539. 最小时间差
给定一个 24 小时制(小时:分钟 “HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。let getMinutes = (t) => { return ((t[0].charCodeAt() - '0'.charCodeAt()) * 10 + (t[1].charCodeAt() - '0'.charCodeAt())) * 60 + (t[3].charCodeAt() - '0'.charCodeAt()) * 10 + (t[4].charCodeAt()原创 2022-01-18 13:14:18 · 117 阅读 · 0 评论 -
【力扣算法刷题笔记】1.二分查找
定义二分查找:在升序数组nums中寻找目标值target,对于特定下标ii,比较nums[i]和target的大小:如果nums[i]=target,则下标 ii 即为要寻找的下标;如果nums[i]>target,则target 只可能在下标 ii 的左侧;如果nums[i]<target,则target 只可能在下标 ii 的右侧。笔记主要注意两点:(1)middle=Math.floor((right - left) / 2) + left;(2)因为不用和middle原创 2022-01-17 13:25:18 · 398 阅读 · 0 评论