leetcode_算法
木木生琳
这个作者很懒,什么都没留下…
展开
-
LeetCode_算法入门_图像渲染
图像渲染有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。你也被给予三个整数 sr , sc 和 newColor 。你应该从像素 image[sr][sc] 开始对图像进行 上色填充 。为了完成 上色工作 ,从初始像素开始,记录初始坐标的 上下左右四个方向上 像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应 四个方向上 像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录的像素点的颜色值原创 2022-03-06 21:02:28 · 6247 阅读 · 0 评论 -
LeetCode_算法入门_字符串的排列
字符串的排列给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。换句话说,s1 的排列之一是 s2 的 子串 。示例 1:输入:s1 = “ab” s2 = “eidbaooo”输出:true解释:s2 包含 s1 的排列之一 (“ba”).示例 2:输入:s1= “ab” s2 = “eidboaoo”输出:false(上述题目来源于LeetCode)解法(滑动窗口)class Solution {原创 2022-03-06 19:48:50 · 385 阅读 · 0 评论 -
LeetCode_算法入门_无重复字符的最长子串
无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“p原创 2022-03-04 16:31:48 · 66 阅读 · 0 评论 -
LeetCode_算法入门_删除链表的倒数第N个结点
删除链表的倒数第N个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1](上述题目来源于LeetCode)解法一(两次遍历)/** * Definition for singly-linked list. * public class ListN原创 2022-03-04 16:18:39 · 210 阅读 · 0 评论 -
LeetCode_算法入门_链表的中间结点
链表的中间结点给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.n原创 2022-03-04 16:09:52 · 86 阅读 · 0 评论 -
LeetCode_算法入门_反转字符串中的单词
反转字符串中的单词给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入:s = “Let’s take LeetCode contest”输出:“s’teL ekat edoCteeL tsetnoc”示例 2:输入: s = “God Ding”输出:“doG gniD”(上述题目来源于LeetCode)解法class Solution { public String reverseWords(String s) {原创 2022-03-01 16:23:25 · 7253 阅读 · 0 评论 -
LeetCode_算法入门_两数之和 II - 输入有序数组
两数之和 II - 输入有序数组给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。你可以假设原创 2022-02-28 15:20:09 · 135 阅读 · 0 评论 -
LeetCode_算法入门_移动零
移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0](上述题目来源于LeetCode)方法一(双指针):class Solution { public void moveZeroes(int[] nums) { //数组长度原创 2022-01-29 20:55:50 · 635 阅读 · 0 评论 -
LeetCode_算法入门_轮转数组
轮转数组给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例 2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99原创 2022-01-27 21:40:34 · 6452 阅读 · 0 评论 -
LeetCode_算法入门_有序数组的平方
有序数组的平方给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121](上述题目来源于LeetCode)方法一(先平方再排序)class Solut原创 2022-01-21 16:44:47 · 89 阅读 · 0 评论 -
LeetCode_算法入门_第一个错误的版本
第一个错误的版本你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:输入:n原创 2021-12-02 21:52:43 · 78 阅读 · 0 评论