leetcode contest weekly 351

数据结构与算法(LeetCode) 第二节 链表结构、栈、队列、递归行为、哈希表和有序表

一、链表结构 1.单向链表节点结构 public class Node{ public int value; public Node next; public Node(int data){ value=data; } } 2.双向链表节点结构 public class DoubleNode{ pu ......
结构 数据结构 队列 算法 LeetCode

数据结构与算法(LeetCode)第一节:认识复杂度,对数器,二分法与异或运算

一、认识复杂度 1.评估算法优劣的核心指标: 时间复杂度:当完成了表达式的建立,只要把最高阶项留下即可。低阶项都去掉,高阶项的系数也去掉,记为O(去掉系数的高阶项); ​ 时间复杂度是衡量算法流程的复杂度的一种指标,该指标只与数据量有关,与过程之外的优化无关 常见的时间复杂度(从好到坏) O(1) ......

AtCoder Beginner Contest(abc) 310

B - Strictly Superior 难度: ⭐ 题目大意 给定n个商品的价格, 每个商品还有若干个属性, 请问是否存在一个商品是另外一个商品的上位品; 上位品的定义分两种, 一是价格相同, 但是商品A的属性不仅包括了商品B的属性, 还比商品B多了至少一个属性; 二是如果两商品的属性相同, 但 ......
Beginner AtCoder Contest 310 abc

[LeetCode] 2558. Take Gifts From the Richest Pile

You are given an integer array gifts denoting the number of gifts in various piles. Every second, you do the following: Choose the pile with the maxim ......
LeetCode Richest Gifts 2558 From

AtCoder Beginner Contest 325

感觉错失了上分机会 A - Takahashi san (abc325 A) 题目大意 给定姓和名,输出尊称,即姓+san。 解题思路 按照题意模拟即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long long ......
Beginner AtCoder Contest 325

LeetCode 2: Add Two Numbers

https://leetcode.cn/problems/add-two-numbers/description/ Finally I joined a foreign company's China branch to learn English and start a new journey. ......
LeetCode Numbers Add Two

[Leetcode] 0108. 将有序数组转换为二叉搜索树

108. 将有序数组转换为二叉搜索树 题目描述 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1: 输入:nums = [-10,-3,0,5,9 ......
数组 Leetcode 0108

AtCoder Beginner Contest 216 H Random Robots

洛谷传送门 AtCoder 传送门 下文令 \(n\) 为原题中的 \(K\),\(m\) 为原题中的 \(N\)。 首先概率转方案数,最后除 \(2^{nm}\) 即可。 考虑一个指数级暴力:枚举每个 bot 的终点 \(y_i\)(因为存在不能相交的限制,需要满足 \(y_1 < y_2 < \ ......
Beginner AtCoder Contest Random Robots

[Leetcode] 0104. 二叉树的最大深度

104. 二叉树的最大深度 题目描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 ......
深度 Leetcode 0104

LeetCode151.反转字符串中的单词

题目描述 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的单词分隔开。 返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词 ......
字符串 单词 字符 LeetCode 151

leetcode98-验证二叉搜索树

一开始没有考虑到左子树的所有节点都要小于根节点,右子树要大于根节点,本质上是边界没有考虑仔细,所以比较时需向上比较(和父节点)而不是向下比较(和子节点比大小) 根节点没有父节点,因此初始化时引用最大最小值即可,注意这里的数值范围 点击查看代码 class Solution { public bool ......
leetcode 98

AtCoder Regular Contest 164 F Subtree Reversi

洛谷传送门 AtCoder 传送门 非常好题目。 发现每个点颜色被反转的次数是固定的,为其深度(根结点深度为 \(0\))。于是可以看作是,一放棋子就得到分数。 那么先手取偶数层和后手取奇数层都会使先手得分,所以双方的目标都是尽可能多取偶数层的结点。 考虑若一开始有偶数层的叶子,那么当前的先手肯定会 ......
AtCoder Regular Contest Subtree Reversi

The 2021 ICPC Asia Macau Regional Contest

\(C. Laser Trap\) 根据题意不难判断出需要极角排序,然后对于每个点寻找更小的一个 \(180\) 度的点数。即使听说是用双指针实现查找依旧没什么思路。后来看了别人的实现方法发现确实比较简单,甚至只需要维护极角就可以了。 const long double pi=acosl(-1); ......
Regional Contest Macau 2021 ICPC

AtCoder Beginner Contest(abc) 309

B - Rotate 题目大意 给定一个n*n的矩阵, 要求把矩阵的最外围按照顺时针转动一个数据, 输出转动后的矩阵; 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int long long #define IOS ios::sync_ ......
Beginner AtCoder Contest 309 abc

LeetCode541.反转字符串Ⅱ

题目描述 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 示例 第一次提交的代码 clas ......
字符串 字符 LeetCode 541

[LeetCode] 1169. Invalid Transactions

A transaction is possibly invalid if: the amount exceeds $1000, or; if it occurs within (and including) 60 minutes of another transaction with the sam ......
Transactions LeetCode Invalid 1169

LeetCode15.三数之和

题目描述 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 注意:答 ......
之和 LeetCode 15

leetcode-二叉树总结

此文总结一下leetcode二叉树部分的常见题型和知识点: 常用知识点整理: 1. 树的深度和高度: 树的深度是从根节点开始往叶子结点算,而树的高度是从叶子结点往根结点算。 2. 树的遍历的迭代写法: 树的遍历分为先/中/后序三种,递归写法较为简单,这里简单介绍一下迭代写法的套路。 迭代写法简单来说 ......
leetcode

[Leetcode] 0100. 相同的树

100. 相同的树 题目描述 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p = [1,2,3], q = [1,2,3] 输出:true 示例 2: 输入:p = [1,2], q ......
Leetcode 0100

[Leetcode] 0094. 二叉树的中序遍历

94. 二叉树的中序遍历 题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 提示: 树中节点 ......
Leetcode 0094

LeetCode Day13 239&347

//利用双端队列手动实现单调队列/** * 用一个单调队列来存储对应的下标,每当窗口滑动的时候,直接取队列的头部指针对应的值放入结果集即可 * 单调队列类似 (tail -->) 3 --> 2 --> 1 --> 0 (--> head) (右边为头结点,元素存的是下标) */ 239. 滑动窗口 ......
LeetCode Day 239 347 amp

LeetCode 454.四数相加 II

题目描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 描述 ......
LeetCode 454 II

[Leetcode Weekly Contest]368

链接:LeetCode [Leetcode]2908. 元素和最小的山形三元组 I 给你一个下标从 0 开始的整数数组 nums 。 如果下标三元组 (i, j, k) 满足下述全部条件,则认为它是一个 山形三元组 : i < j < k nums[i] < nums[j] 且 nums[k] < ......
Leetcode Contest Weekly 368

LeetCode | 19. 删除链表的倒数第 N 个结点

1 相关标签 链表、双指针、C 语言 2 报错情况 2.1 题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 2.2 错误代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * ......
结点 LeetCode 19

LeetCode 1.两数之和

题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 第一次提交的代码 impo ......
之和 LeetCode

[Leetcode] 0088. 合并两个有序数组

88. 合并两个有序数组 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由 ......
数组 Leetcode 两个 0088

The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online (The 2nd Universal Cup. Stage 1: Qingdao)

Preface 好以后我就是SUA铁粉了,每次打SUA出的题感觉都很好,全程有事情干并且中档题很多很适合我们队这种比上不足的队伍打 不过yysy这场题目偏数据结构和图论方面比较重,而数学方向则不多,刚好撞上了我们队熟悉的地方,因此最后卡着时间过了9题 而且最近CF评测机不知道咋了,这场好多题光读入用 ......
Qingdao The Universal ACM-ICPC Regional

[Leetcode] 0824. 山羊拉丁文

824. 山羊拉丁文 题目描述 给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。 请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下: 如果单词以元音开头( ......
山羊 Leetcode 0824

[Leetcode] 0821. 字符的最短距离

821. 字符的最短距离 题目描述 给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。 返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。 两个下标 i ......
短距离 字符 Leetcode 0821

2023 Oct. Week-3 Summary

2023 Oct. Week-3 Summary 2023.10.16 - 2023.10.22 (椰树牌椰汁!) 学习内容 学了 搜索 DFS,剪枝优化 折半搜索(调整折半常数优化 k 短路 (A*) 迭代加深 (IDDFS) 大量模板 如学(需要复习 / 做题) 数据结构 回滚莫队,二次离线 动 ......
Summary 2023 Week Oct