子集leetcode 416

[Leetcode] 0058. 最后一个单词的长度

58. 最后一个单词的长度 题目描述 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”, ......
单词 长度 Leetcode 0058

[Leetcode] 0035. 搜索插入位置

35. 搜索插入位置 题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2 示例 ......
Leetcode 位置 0035

[Leetcode] 0027. 移除元素

27. 移除元素 题目描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为 ......
Leetcode 元素 0027

[Leetcode] 0027. 移除元素

27. 移除元素 题目描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为 ......
Leetcode 元素 0027

leetcode200 岛屿数量

链接 https://leetcode.cn/problems/number-of-islands/description/ 思路 跟岛屿周长差不多...但我觉得这个比岛屿周长还简单。不知道为什么这个算中等题目,岛屿周长算简单题目 代码 class Solution: def numIslands( ......
岛屿 leetcode 数量 200

Leetcode707. 设计链表

题目描述 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点。假设链表中的所有节点下标从 0 开始。 实现 ......
Leetcode 707

01背包问题的子集树搜索

如题: 经典01背包问题,直接代码反映心路历程。 // // Created by _thinkPad on 2023/10/16. // #include <iostream> #include <vector> #include <stack> #include <queue> #include ......
子集 背包 问题

leetcode274 H指数 —— 排序后遍历/差分 c++

给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h 次 ......
leetcode 指数 274

Leetcode203.移除链表元素

题目描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。 示例 提交的代码 /** * Definition for singly-linked list. * public class ListNode { ......
Leetcode 元素 203

[Leetcode Weekly Contest]367

链接:LeetCode [Leetcode]2903. 找出满足差值条件的下标 I 给你一个下标从 0 开始、长度为 n 的整数数组 nums ,以及整数 indexDifference 和整数 valueDifference 。 你的任务是从范围 [0, n - 1] 内找出 2 个满足下述所有条 ......
Leetcode Contest Weekly 367

Leetcode 34. Find First and Last Position of Element in Sorted Array

题解 用了两次二分,分别计算第一个>=target的元素位置和第一个>target的元素位置。闭区间二分,[l,r]是未知的,保证每次答案都在[l,r]中,定义清楚nums[l-1]和nums[r+1]和target的关系。因为是while(l < r),所以到l == r时跳出循环,分析l == ......
Leetcode Position Element Sorted Array

周赛363 Leetcode 2861. 最大合金数

题解 k个小问题,对每台机器分别计算这台机器最多能制造出多少合金,然后所有机器取max,就是最大合金数。 参数太多不好直接算 如果暴力,枚举制造1份合金,2份合金,... ,但是budget和stock都是1e8,会超时 但是暴力可以给我们一个启发:制造的合金数越多,花的钱越多。我们是否可以猜一个答 ......
Leetcode 2861 363

LeetCode54. 螺旋矩阵Ⅰ

题目描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 提交的代码 class Solution { public List<Integer> spiralOrder(int[][] matrix) { //行数 int m=matrix.l ......
矩阵 螺旋 LeetCode 54

leetcode45 跳跃游戏2——贪心 (C++/Python)

题目描述: 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + j < n ......
leetcode Python 45

LeetCode59. 螺旋矩阵Ⅱ

题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 提交的代码 class Solution { int matrixLen=0; public int[][] generateMatrix(int n) ......
矩阵 螺旋 LeetCode 59

leetcode2845. 统计趣味子数组的数目

题解 class Solution { public: long long countInterestingSubarrays(vector<int>& nums, int modulo, int k) { int a[100010]; unordered_map<int, int> mp; mp[ ......
数组 数目 趣味 leetcode 2845

LeetCode Day04 24&19&02.07&142

24. 两两交换链表中的节点 这题使用虚拟头结点会更好做,因为有虚拟头结点我们交换结点的时候步骤会更加清晰。 操作此类有指针类型的题目要注意:1.画图避免混乱 2.注意指针先后顺序 class Solution { public ListNode swapPairs(ListNode head) { ......
amp LeetCode 02.07 Day 142

LeetCode209. 长度最小的子数组

题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 输入:targ ......
数组 长度 LeetCode 209

代码随想录算法训练营-动态规划-3-(0-1背包问题)|416. 分割等和子集、1049. 最后一块石头的重量 II

416. 分割等和子集 01背包的递推公式为:dp[j] = max(dp[j], dp[j - weight[i]] + value[i]); 如果dp[j] == j 说明,集合中的子集总和正好可以凑成总和j,理解这一点很重要。 1 class Solution: 2 def canPartit ......
随想录 子集 训练营 随想 算法

[LeetCode] 1354. Construct Target Array With Multiple Sums 多次求和构造目标数组

You are given an array target of n integers. From a starting array arr consisting of n 1's, you may perform the following procedure : let x be the sum ......
数组 Construct LeetCode Multiple 目标

LeetCode题库22.括号生成

class Solution: def generateParenthesis(self, n: int) -> List[str]: if n==1: return ['()'] if not n: return None stack,res,l,r=[],[],[],[] for _ in ra ......
括号 题库 LeetCode 22

LeetCode977. 有序数组的平方

题目描述 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例1 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0,1 ......
数组 LeetCode 977

LeetCode27. 移除元素

描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例1 输入:nums = [3 ......
LeetCode 元素 27

算法训练day30 LeetCode93.78.90

算法训练day30 LeetCode93.78.90 93.复原IP地址 题目 93. 复原 IP 地址 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 使用'.'切割字符串、结束条件为字符串中有三个'.'、同时要确定字符串符合的条件 长度为不为1时,首字符 ......
算法 LeetCode day 30 93

LeetCode704. 二分查找

描述 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例1 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nu ......
LeetCode 704

LeetCode Day02 977&209&59

第一题是[977. 有序数组的平方]这题解题思路依旧可以用双指针,指针分别指向数组的头尾两端,然后对两端求乘积比较大小,把乘积值更大的存储到数组尾端,然后指针更新位置,代码如下。 public int[] sortedSquares(int[] nums) { //res用于存储平方和结果 int[ ......
amp LeetCode Day 977 209

LeetCode Day01 704. & 27.

###### [704. Binary Search](https://leetcode.cn/problems/binary-search/)入门必备二分查找了。必须是在一堆**有序的**数组中找到其中特定某个val值。###### 二分算法的思路:*首先取一个基准值,这个值我们一般取数组的中间位 ......
LeetCode Day 704 amp 01

【LeetCode递归】括号生成,使用dfs

括号匹配 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出:["()"] 提示: 1 < ......
括号 LeetCode dfs

[LeetCode] 2863. Maximum Length of Semi-Decreasing Subarrays_Medium tag: stack

You are given an integer array nums. Return the length of the longest semi-decreasing subarray of nums, and 0 if there are no such subarrays. A subarr ......

[LeetCode] 2434. Using a Robot to Print the Lexicographically Smallest String_Medium tag: stack

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: Remov ......