LeetCode 题目总结 本博客不定期更新 LeetCode 题目总结,所有题目使用 Java 实现,前 400 题的部分题目也提供 JavaScript 代码。但是我想现如今你完全可以用任何 AI 工具把 Java 代码翻译成 JavaScript 或任何其他语言以达到学习的目的。我不追求一行 AC 但是我追求一题多解,比较常规的思路,解释清楚复杂度,代码可读性强。欢迎留言和评论,共同进步。这本是我自己用来复习的笔记,如 2020-03-18 #leetcode
[LeetCode] 二分查找模板 binary search 二分法是算法题里面一个比较基础但是很容易错的概念,一开始练习的时候由于不熟悉二分法的套路,反复出现死循环或者目标值找错,非常影响做题心情。我总结了如下几个模板。原则上这里的模板无论你使用哪一个,都可以解决二分法类型的问题,只不过有一些题目,比如寻找一个最大值/最小值的,可能某一个模板更适合,需要判断的条件较少。 如下模板是用Java实现的 模板一,找有序数组中是否存在一个目标值。注意 r 2021-01-12 #leetcode #java #binary search
给网站添加免费的SSL证书 自己曾经做了一个网站部署在一台 ubuntu 服务器上,但是由于一开始不会配置 SSL,所以花钱买了付费的 SSL。最近发现了 Let’s Encrypt,可以免费申请 SSL 证书,下面是详细的教程。 我的网站是一个 React 的项目,所以我的服务器上只是一个简单的 Node.js 环境 + Nginx。我主要参考了这个帖子。如果你是用其他的环境比如LAMP那一套的,请自行搜索其他的教程。 0 2024-11-02 #devops
[LeetCode] 2200. Find All K-Distant Indices in an Array You are given a 0-indexed integer array nums and two integers key and k. A k-distant index is an index i of nums for which there exists at least one index j such that |i - j| <= k and nums[j] 2025-06-23 #leetcode #java #array #two pointer
[LeetCode] 2138. Divide a String Into Groups of Size k A string s can be partitioned into groups of size k using the following procedure: The first group consists of the first k characters of the string, the second group consists of the next k characters 2025-06-21 #leetcode #java #string #simulation
[LeetCode] 2294. Partition Array Such That Maximum Difference Is K You are given an integer array nums and an integer k. You may partition nums into one or more subsequences such that each element in nums appears in exactly one of the subsequences. Return the minimum 2025-06-18 #leetcode #java #array #greedy #sort
[LeetCode] 2566. Maximum Difference by Remapping a Digit You are given an integer num. You know that Bob will sneakily remap one of the 10 possible digits (0 to 9) to another digit. Return the difference between the maximum and minimum values Bob can make b 2025-06-13 #leetcode #java #greedy #string
[LeetCode] 386. Lexicographical Numbers Given an integer n, return all the numbers in the range [1, n] sorted in lexicographical order. You must write an algorithm that runs in O(n) time and uses O(1) extra space. Example 1:Input: n = 2025-06-09 #leetcode #dfs #java #trie
[LeetCode] 2434. Using a Robot to Print the Lexicographically Smallest String You are given a string s and a robot that currently holds an empty string t. Apply one of the following operations until s and t are both empty: Remove the first character of a string s and give it to 2025-06-05 #leetcode #java #greedy #string #stack
[LeetCode] 3403. Find the Lexicographically Largest String From the Box I You are given a string word, and an integer numFriends. Alice is organizing a game for her numFriends friends. There are multiple rounds in the game, where in each round: word is split into numFriends 2025-06-03 #leetcode #java #string