LeetCode
fatvaaa
这个作者很懒,什么都没留下…
展开
-
LeetCode 242有效的字母异位词
题目描述解法解法都是别人的,做一个搬运解法的搬运工。解法一如果 s 和 t 的长度不同,t 必然不是 s 的异位词。t 是 s 的异位词等价于「两个字符串排序后相等」。因此我们可以对字符串 s 和 t 分别排序,看排序后的字符串是否相等即可判断。class Solution { public boolean isAnagram(String s, String t) { //如果s和t长度不相等,肯定不是字母异位词 if (s.length() !=原创 2021-03-07 17:17:50 · 118 阅读 · 0 评论 -
LeetCode 141环形链表
题目描述解法解法一暴力解法:题目中链表中节点的数目范围是0到10的4次方,我们可以设置一个num记录遍历的节点数,如果超过10000,说明有环/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } *原创 2021-03-05 09:00:04 · 134 阅读 · 1 评论 -
LeetCode 207反转链表
题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list解法解法一使用头插法进行反转链表/** * Definition for singly-linked原创 2021-03-03 10:44:25 · 69 阅读 · 0 评论 -
LeetCode 707设计链表
题目描述设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为原创 2021-03-02 10:41:08 · 74 阅读 · 0 评论 -
LeetCode 203删除链表元素
问题描述删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解法解法思想 此题删除链表中元素是很简单的,只需要让待删节点之前一个节点指向待删节点之后一个节点即可。 这里我们讨论两种解法。 在java中定义单链表的代码如下: public class ListNode { int val;原创 2021-03-01 19:23:44 · 150 阅读 · 3 评论 -
LeetCode 2.19 每日打卡 1004最大连续1的个数 III
题目描述解法解法一暴力解法两个for循环class Solution { public int longestOnes(int[] A, int K) { //虽然自己的思路就是用滑动窗口做,在终止位置向右移动过程中,遇到0,将其变成1,然后K-1,直到再遇到0,K=0时结束 //但是吧先写暴力解法 int length = 0; //子数组的长度 int finalLength = 0; //最后要返回的子数组的长度原创 2021-02-19 11:36:27 · 131 阅读 · 0 评论 -
LeetCode 209长度最小的子数组
题目描述解法解法一暴力解法,两个for循环找相应的满足大于target的最短子序列的长度class Solution { public int minSubArrayLen(int target, int[] nums) { //暴力解法 int sum = 0; //子序列和 int length = 0; //满足和大于s的子序列的长度 int finalLength = 100001; //题目中数组长度为1-10的5次原创 2021-02-18 10:03:28 · 229 阅读 · 0 评论 -
LeetCode 27移除元素
问题描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并“原地”修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝原创 2021-02-17 17:46:30 · 72 阅读 · 0 评论 -
LeetCode 2.17 每日打卡 566重塑矩阵
输入: nums = [[1,2], [3,4]]r = 1, c = 4输出: [[1,2,3,4]]原创 2021-02-17 11:00:11 · 77 阅读 · 0 评论 -
LeetCode 2.16 每日打卡 561数组拆分 I
问题描述给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。示例 1:输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:(1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3(1, 3), (2, 4) -> min(1,原创 2021-02-16 22:33:42 · 249 阅读 · 0 评论 -
LeetCode 35搜索插入位置
问题描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-原创 2021-02-16 22:28:18 · 151 阅读 · 0 评论