leetcode contest weekly 351
前缀和-leetcode303
LeetCode上的题目 "303. 区域和检索 - 数组不可变",是一个相对简单的问题。 问题描述: 给定一个整数数组 nums,求出该数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i, j 两点。 实现 NumArray 类: NumArray(int[] nums) 用整数数组 ......
leetcode简单题目
关于ListNode报错 public class ListNode{ int val; ListNode next; public ListNode(int x){val=x;} } 关于程序报错 error: no viable conversion from 'ListNode *' to ' ......
【LeetCode剑指offer 02】矩阵中的路径(老鼠走迷宫plus,应用深度优先搜索与回溯机制)
矩阵中的路径 https://leetcode.cn/problems/ju-zhen-zhong-de-lu-jing-lcof/ 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照 ......
【LeetCode剑指offer 01】数组中重复的数字、两个栈实现队列
数组中重复的数字 数组中重复的数字 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, ......
AtCoder Beginner Contest 226(E,F,G)
AtCoder Beginner Contest 226(E,F,G) E(并查集) E 这个题的大意是给我们一个无向图,我们可以把这些无向边变成有向边,让每一个点的入度都是$1$,问有多少种变化方式 要让有$x$个点的无向图,形成一棵树的边的数量是$x-1$,但是我们需要的是每一个点的入度为$1$ ......
Leetcode(剑指offer专项训练)——DP专项(7)
矩阵中的距离 题目: 给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 链接 TLS思路题解 暴力DFS的结果是超时😢,就是找每个位置的距离它最近的零点的位置 class Solu ......
LeetCode 81. 搜索旋转排序数组 II
1 class Solution { public: bool search(vector<int>& nums, int target) { int index = -1; for (int i = 0; i < nums.size() - 1; ++i){ if (nums[i] > nums[ ......
LeetCode 力扣 205. 同构字符串
给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。 示例 1: 输入 ......
[LeetCode] 1339. Maximum Product of Splitted Binary Tree 分裂二叉树的最大乘积
Given the root of a binary tree, split the binary tree into two subtrees by removing one edge such that the product of the sums of the subtrees is max ......
[LeetCode] 2405. Optimal Partition of String
Given a string s, partition the string into one or more substrings such that the characters in each substring are unique. That is, no letter appears i ......
AtCoder Regular Contest 158 D - Equation
题目链接 原本看着式子直接晕了,觉得是高深的硬核数论,于是放弃(然后E也没想出来,sad) 关键的思路在于,考虑构造由**(a,b,c)->(ta,tb,tc)**这样的求解方式。 在看到这个做法后,会发现它很好地利用了题目齐次的性质;至于如何由齐次式想到这个做法,可能需要足够的天赋或者经验吧(悲) ......
SMU Spring 2023 Trial Contest Round 4 (4.4)
SMU Spring 2023 Trial Contest Round 4 (^_^) A小石的图形 思路:pi=acos(-1) #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; const int N=1 ......
【LeetCode排序专题02】最小k个数,关于快速排序的讨论
最小k个数 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例 2: 输入:arr = [0,1,2,1], k ......
代码随想录Day20-Leetcode654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树
654.最大二叉树 题目链接:https://leetcode.cn/problems/maximum-binary-tree/ 基本的模拟思路很快 /** * Definition for a binary tree node. * function TreeNode(val, left, rig ......
滑动窗口-leetcode344-反转字符出啊
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e","h" ......
滑动窗口-leetcode-167-俩树之和
以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。 你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。 你所设计的解决方案必须只使用常量级的额外空间。 示例 1: 输入:numbers = [2,7,11 ......
快慢指针-leetcode27移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数,但输出的 ......
快慢指针-leetcode-26
题目描述: 给定一个已经排序好的数组,删除重复的元素,使每个元素只出现一次,并返回新的数组长度。 不要为另一个数组分配额外的空间,必须采用 O(1) 额外内存复杂度的原地算法来解决这个问题。 示例 1: 输入: nums = [1, 1, 2] 输出: length=2, nums=[1,2] 解释 ......
【LeetCode排序专题01】由旋转数组的最小数字引出的关于排序算法的讨论(冒泡排序、二分查找+暴力法)
旋转数组的最小数字 剑指 Offer 11. 旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1 ......
AtCoder Beginner Contest 294(E,F,G)
AtCoder Beginner Contest 294(E,F,G) E (思维,双指针) E 这个题的大意就是有一个$2$行$L$列的网格,每个格子里面都有不同的数字,但是它的输入方式不是一个一个输入的,而是从第一个开始,枚举每个数在这一段的数量,(比如$a_1=2,L_1=3$,那么此时就已经 ......
[Leetcode Weekly Contest]339
链接:LeetCode [Leetcode]2609. 最长平衡子字符串 给你一个仅由 0 和 1 组成的二进制字符串 s 。 如果子字符串中 所有的 0 都在 1 之前 且其中 0 的数量等于 1 的数量,则认为 s 的这个子字符串是平衡子字符串。请注意,空子字符串也视作平衡子字符串。 返回 s ......
「动态规划」LeetCode 70(爬楼梯)
Leetcode 70 题 有人问我:烤冷面你这两周怎么总搞简单题?我想说:一步一步来~ 题干简述 给定: 假设你正在爬楼梯,需要爬 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。 要求:计算出有多少种爬楼梯的方式。 解题思路 如果我们缩小视野(把大问题化为小问题),爬到第 n 阶台阶有 ......
刷爆 LeetCode 周赛 339,贪心 / 排序 / 拓扑排序 / 平衡二叉树
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 339 场周赛,你参加了吗?这场周赛覆盖的知识点比较少,前三题很简单,第四题上难度。 周赛大纲 2609. 最长平衡子字符串(Easy) 模拟:$O(n)$ ......
AtCoder Beginner Contest 154
AtCoder Beginner Contest 154 https://atcoder.jp/contests/abc154 今天也比较简单。 E - Almost Everywhere Zero 贪心或者数位dp。 (其实我这个贪心应该就是在模拟数位dp) 贪心 #include <bits/s ......
LeetCode 145 二叉树的后序遍历
LeetCode | 145.二叉树的后序遍历 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 1 \ 2 / 3 输入:root = [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1 ......
考研周记-week6
3.27~4.2 记录一下本周的考研进度情况 英语 本周英语依然是背单词+扇贝阅读,时间基本上都能控制在1个半小时之内,按照目前的作息时间,英语的学习应该是在8.30~10:00这个时间段。 数学 数学方面,本周学完了常微分方程和无穷级数,还看了一部分积分学的应用,考研数学高数部分剩的内容已经不多了 ......
【贪心】LeetCode 45. 跳跃游戏 II
题目链接 45. 跳跃游戏 II 思路 如果某一个作为 起跳点 的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点。 11. 可以对每一个能作为 起跳点 的格子都尝试跳一次,把 能跳到最远的距离 不断更新。 如果从这个 起跳点 起跳叫做第 1 次 跳跃,那么从后面 3 个格子起跳 ......
反转链表hard-leetcode25
给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换 思路: 每k个节点翻转一次,相当于确定左右 ......
【贪心】LeetCode 55. 跳跃游戏
题目链接 55. 跳跃游戏 思路 如果某一个作为 起跳点 的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点。可以对每一个能作为 起跳点 的格子都尝试跳一次,把能跳到最远的距离 不断更新。如果可以一直跳到最后,就成功了。 代码 class Solution { public bo ......
【DP】LeetCode 256. 粉刷房子
题目链接 256. 粉刷房子 假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。 当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n ......