序列leetcode 1143

LeetCode 1934.确认率

1934.确认率 1.问题关键精炼: 确认率是confirmed消息的数量除以请求的确认消息的总数。 没有请求任何确认消息的用户的确认率为0。 确认率四舍五入到小数点后两位 2.难点解析: 我觉得这道题是考察AVG函数的使用。 根据需求可以看出,答案也就是一个公式:confirmed消息的数量 / ......
LeetCode 1934

leetcode841钥匙和房间

使用深度优先遍历构造的图,只要访问过就标记已访问 int num=0; vector<bool>vis; void dfs(vector<vector<int>>& rooms,int x){ vis[x]=true; num++; for(auto& v:rooms[x]){ if(!vis[v] ......
leetcode 钥匙 房间 841

leetcode450删除搜索二叉树的节点

删除的二叉树节点分4种情况: 叶子节点,直接删除就行 左节点不为空,右节点为空;直接将左子树返回 左节点为空,右节点不为空;直接将右子树返回 左节点和右节点不为空;将右子树最小的节点作为根节点,返回右子树 TreeNode* deleteNode(TreeNode* root, int key) { ......
节点 leetcode 450

Leetcode 26. 删除有序数组中的重复项

题目描述 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 双指针 Python 实现 def removeDuplicates(nums: List[ ......
数组 Leetcode 26

Go语言中JSON的反序列化规则

Unmarshal 解析 func Unmarshal(data []byte, v any) error Unmarshal 解析 JSON 编码的数据,并将结果存储在 v 指向的值中。如果 v 为 nil 或不是指针,Unmarshal 返回一个 InvalidUnmarshalError 错误 ......
序列 规则 语言 JSON

LeetCode287——寻找重复数

给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。 示例 1: 输入 ......
LeetCode 287

LeetCode523——连续的子数组和

给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。 如果存在,返回 true ;否则,返回 false 。 如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x ......
数组 LeetCode 523

leetcode - 翻转二叉树

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root = [2,1,3] 输出:[2,3,1] 示例 3: 输入:root = [] 输出:[] 这题比较 ......
leetcode

LeetCode98:验证二叉搜索树,居然有这么简单的中等难度,白捡(用时击败100%)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于LeetCode98 做这道题之前,我反复审题,最后确认:没错,不存在什么坑,这道题确实非常非常简单,然而却被官方定义为中等难度 这一定是送分,白捡一 ......
LeetCode 难度 100% 98

算法训练day6:哈希基础、LeetCode242

算法训练day6:哈希基础、LeetCode242.349.202.两数之和 哈希基础: 一般哈希表都是用来快速判断一个元素是否出现集合里。 以空间换时间 使用集合来解决哈希问题的时候,优先unordered_set,因为它的查询和增删效率是最优的,如果需要集合是有序,那么就用set,如果要求不仅有 ......
算法 LeetCode 基础 day6 day

浅谈最长公共子序列

最长公共子序列 定义 最长公共子序列(LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。 ——维基百科 这里的子序列,是可以不连续的。 比如: 1 2 3 1 2 4 2 3 2 1 5 2 1 2 他们的最长公共子序列就是 2 1 2 2。 也就是从两个序列,分别 ......
序列

Web攻防--JNDI注入--Log4j漏洞--Fastjson反序列化漏洞

JNDI注入 什么是JNDI JNDI全称为 Java Naming and Directory Interface(Java命名和目录接口),是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来定义用户、网络、机器、对象和服务等各种资源。 JNDI支持的服务主要有:DNS ......
漏洞 序列 Fastjson Log4j JNDI

[刷题记录Day 31]Leetcode贪心算法

No.1 题目 分发饼干 思路 局部最优原则,大饼干优先满足大胃口孩子 倒序遍历数组 代码 public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int satisfied = 0; in ......
算法 Leetcode Day 31

[刷题记录Day 32]Leetcode贪心算法

No.1 题目 买卖股票的最佳时机 II 思路 贪心 利润拆分:不需要看长期,只看2天为单位的收益 要够贪心,每一次明天会涨就买入,明天卖掉,不断累积收益 代码 public int maxProfit(int[] prices) { int sum = 0; for (int i = 0; i + ......
算法 Leetcode Day 32

[刷题记录Day 27]Leetcode组合之回溯算法

No.1 题目 组合总和 思路 回溯法 不限制数字使用次数,如何处理? 横向遍历树时,还需要使用startIndex,以避免对同一个组合重复多次搜索 但是在递归下一层时,参数中不需要startIndex + 1,表示允许从startIndex开始搜索 数字集中出现0会怎么样? 无限含不同数量0的组合 ......
算法 Leetcode Day 27

[刷题记录Day 28]Leetcode组合之回溯算法

No.1 题目 复原IP地址 思路 写一个函数,判断是否是有效的IP地址元素(即两点之间的部分是否合法) 这是一个分割问题 回溯法 递归分析 全局变量:``List path,List result` 返回值:空,参数:原始字符串,startIndex 终止条件 字符串用光了,且path有4个元素, ......
算法 Leetcode Day 28

[刷题记录Day 29]Leetcode排列组合之回溯算法

No.1 题目 递增子序列 思路 回溯法 不改变原有序列的情况下,查找递增子序列 注意在树上每一层用过的数字都不要再用了,不然会出现重复的 代码 private List<Integer> path; private List<List<Integer>> result; public void f ......
算法 Leetcode Day 29

[刷题记录Day 24]Leetcode组合之回溯算法

No.1 题目 组合 思路 回溯法 递归分析 全局变量:存放符合条件单一结果的集合path,存放符合条件结果的集合result 返回值:空,参数:n、k、startIndex(记录递归搜索的起始位置) 终止条件:path.size() == k,就存储结果,返回 单层递归逻辑:从startIndex ......
算法 Leetcode Day 24

[刷题记录Day 25]Leetcode组合之回溯算法

No.1 题目 组合总和 III 思路 回溯法 递归分析 全局变量:path存储临时路径、result存储结果 返回值:空,参数:k,n,start表示从[1, 9]之间哪个数开始 终止条件:发现凑够k个数,判断值等于n,就放入结果集 单层递归逻辑:处理当前节点,递归,回溯 代码 List<List ......
算法 Leetcode Day 25

leetcode - 对称二叉树

给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3] 输出:false 解法思路 也是递归的思想 检查当前两个节点是否为null,是,则说明 ......
leetcode

leetcode - 相同的树

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

leetcode - 中序遍历

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 中序遍历定义 先处理左子节点,再处理当前节点,再处理 ......
leetcode

LeetCode155:最小栈,最简单的中等难度题,时间击败100%,内存也低于官方

官方代码是直接使用JDK的Deque对象,这样的代码能学到什么?熟练操作API吗?还是自己实现一个最小栈吧,用时击败100%,内存击败78% ......
LeetCode 难度 内存 时间 官方

图解 LeetCode 算法汇总——回溯

本文首发公众号:小码A梦 回溯算法是一种常见的算法,常见用于解决排列组合、排列问题、搜索问题等算法,在一个搜索空间中寻找所有的可能的解。通过向分支不断尝试获取所有的解,然后找到合适的解,找完一个分支后再往回搜索。回溯算法通常使用递归的方式实现。 回溯本质是一种暴力搜索法,列出所有可能的解,然后找到合 ......
算法 LeetCode

LeetCode/将石头分散到网格的最少移动次数

给你一个大小为 3 * 3 ,下标从 0 开始的二维整数矩阵 grid ,分别表示每一个格子里石头的数目。 网格图中总共恰好有 9 个石头,一个格子里可能会有多个石头。 每一次操作中,你可以将一个石头从它当前所在格子移动到一个至少有一条公共边的相邻格子。 请你返回每个格子恰好有一个石头的最少移动次数 ......
网格 LeetCode 石头 次数

剑指 Offer 57 - II. 和为s的连续正数序列

题目链接: 剑指 Offer 57 - II. 和为s的连续正数序列 题目描述: 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 解法思路: 双指针: 当总和小于 target 时,j 指 ......
正数 序列 Offer 57 II

SDOI2015 序列统计

题目链接 description 给定一个质数 \(m\),以及 \(n,x\) 和集合 \(S\)。从集合 \(S\) 中任意选数构成长度为 \(n\) 的数列(一个数可以选多次),求数列元素乘积模 \(m\) 等于 \(x\) 的数列的数量。模 \(1004535809\)。 \(3\leq m ......
序列 SDOI 2015

LeetCode279:完全平方数——动态规划算法一定是最优算法吗???

无意间看到了这么一个题: LeetCode279:完全平方数,动态规划解法超过46%,作弊解法却超过97% 看到这个题后我的第一个想法是这个动态规划算法一定是这道题最优解法吗? ......
算法 LeetCode 动态 279

Leetcode刷题本地debug框架搭建

思路 1. 初版 cmake + 单一.cpp文件 参考:https://blog.songjiahao.com/archives/362 2. 改良版 cmake + 源文件、头文件(含List、Tree等数据结构)分离 + gtest 参考:https://github.com/Pokerpok ......
框架 Leetcode debug

[HNOI2016] 序列

[HNOI2016] 序列 题解:\(ST\)表 + 莫队 设莫队维护区间\([l,r]\)的答案\(ans\),我们考虑右端点\(r\)向右扩张时\(r:=r+1\)对\(ans\)的影响,设\(min[l,r]\)代表区间\([l,r]\)中的最小值 \(ans :=ans+min[r,r]+m ......
序列 HNOI 2016