leetcode two sum
CF1599E Two Arrays
Dq17 y。 考虑斐波那契通项公式,分别维护区间 \(\left(\frac{1+\sqrt 5}{2}\right)^{a_{1,i}+a_{2,i}}\) 和 \(\left(\frac{1-\sqrt 5}{2}\right)^{a_{1,i}+a_{2,i}}\) 的和。显然可以扩域,定义 ......
图解 LeetCode 算法汇总——二分查找
二分查找(Binary Search)是一种在有序数组中查找特定元素的高效算法。它的基本思想是将目标值与数组中间的元素进行比较,如果目标值小于中间元素,则在数组的左半部分继续查找,否则在右半部分查找,不断缩小搜索范围,直到找到目标值或确定目标值不存在为止。 二分查找也叫折半查找,比如在一个有序的数组 ......
Leetcode刷题88. 合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 ......
题解 [ARC165A] Sum equals LCM
前天的晚上打这道题,和同学一起想出了思路,开心。 题意描述 给你一个数 \(N\),问你存不存在一个数列 \(A_1,A_2,\ldots,A_n(2 \le n)\) ,使得 \(\sum_{i=1}^n A_i=N\) 并且 \(\operatorname{lcm}(A_1,A_2,\ldots ......
算法训练day13 LeetCode 239
算法训练day13 LeetCode 239.滑动窗口最大值347.前k个高频元素 239.滑动窗口最大值 题目 239. 滑动窗口最大值 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { private: class MyQ ......
A. Two Vessels
A. Two Vessels Two Vessels 一道诈骗题。 Problem 给你三个杯子,前两个杯子分别装着 \(a\) ,\(b\) 克水,第三个杯子里是空的,最多能装 \(c\) 克水。每次你能从任意杯子里取出 \(c\) 克水,并将它倒入到另一个杯子里,且每次可以倒 \(x\space ......
CF762C Two strings 题解
洛谷传送门 CF 传送门 题意 给你两个字符串 \(a\) 和 \(b\),你可以在 \(b\) 中删去尽量短的子段,使得 \(b\) 是 \(a\) 的子序列。求出最后的 \(b\)。 思路 真是奇了怪了,这种题洛谷题解里竟然没有双指针的做法? 首先考虑判断一个字符串 \(b\) 是否是另一个字符 ......
LeetCode 周赛上分之旅 #46 经典二分答案与质因数分解
⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode ......
Leetcode刷题1.两数之和
1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums ......
图解 LeetCode 算法汇总——双指针
双指针算法是一种比较常用于搜索链表或数组相关的问题,很多算法的基本的解题思路就是使用暴力搜索法。而双指针是对暴力搜索的一种优化,通过双指针可以减少数据的遍历次数。通常双指针是有两个指针,叫做 light 左指针和 right 右指针,或者叫做快指针和慢指针。 作为左右指针的话,一般是在数组的或者链表 ......
LeetCode 周赛上分之旅 #45 精妙的 O(lgn) 扫描算法与树上 DP 问题
⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode ......
算法训练day11 栈与队列 02 LeetCode20
算法训练day11 栈与队列 02 LeetCode20.1047.150 20.有效的括号: 题目: 20. 有效的括号 - 力扣(LeetCode) 题解: 代码随想录 (programmercarl.com) class Solution { public: bool isValid(stri ......
Leetcode刷题70.爬楼梯
题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入:n = 3 输出:3 解释:有三种方法可以爬 ......
leetcode71. 简化路径
class Solution: def simplifyPath(self, path: str) -> str: li=path.split("/") res=[] for i in li: if i=='..' and res: res.pop() if i!='.' and i!='..' a ......
算法训练day10 LeetCode 232
算法训练day10: LeetCode 232.225. 232.用栈实现队列 题目 232. 用栈实现队列 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class MyQueue { public: stack<int> stIn; stack<int ......
leetcode 加油站——一次遍历
class Solution: def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int: n=len(gas) max_gas=0 rest=0 records=[] start=0 for i in range(n) ......
【LeetCode】删除数对后的最小数组长度
题目 给你一个下标从 0 开始的 非递减 整数数组 nums 。 你可以执行以下操作任意次: 选择 两个 下标 i 和 j ,满足 i < j 且 nums[i] < nums[j] 。 将 nums 中下标在 i 和 j 处的元素删除。剩余元素按照原来的顺序组成新的数组,下标也重新从 0 开始编号 ......
leetcode 二叉树的最小深度
给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:2 示例 2: 输入:root = [2,null,3,null,4,null,5, ......
leetcode 平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:true 示例 2: 输入:root = [1,2,2,3,3, ......
E. Split Into Two Sets 建模 + 染色法判奇环
题意 给定$n$ $(2 \leq n \leq 2∗10^5)$个骨牌,第 $n$个骨牌上有 $a_i, b_i$ $(1 \leq {a_i, b_i} \leq n)$ 两个数字。 现在你需要把骨牌分成两堆,使得每一个堆里面都没有重复的数字。问是否可以实现. 题解 首先排除一些情况,一张牌上的 ......
[LeetCode] 1222. Queens That Can Attack the King
On a 0-indexed 8 x 8 chessboard, there can be multiple black queens ad one white king. You are given a 2D integer array queens where queens[i] = [xQue ......
[LeetCode] 2596. Check Knight Tour Configuration
There is a knight on an n x n chessboard. In a valid configuration, the knight starts at the top-left cell of the board and visits every cell on the b ......
LeetCode-Java题解 209. Minimum Size Subarray Sum
题目地址:209. Minimum Size Subarray Sum 解题思路: 看到这道题,心里本身是有双指针这个概念的,但是不知道怎么用,脑子里第一反应就是暴力解法,双for一把梭,然后时间就超时了...看了题解才知道滑动窗口这个解法,不禁直呼妙啊!感觉和双指针非常类似,其核心点在于避免了暴力 ......
leetcode1466
分析: 它是有n个节点,n-1条边 所以两个节点连接的边只有一条,那么要么是可以从这条边的起点开始能够到达0,要么是不能,不会有回路的情况 对于数据结构使用哈希表值为vector容器 int bfs(vector<vector<int>>& connections){ unordered_map<i ......
【Leetcode】解题报告Day3~Day4
解题报告 Day3 1. 66. 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入:digits = [1,2,3] 输出:[1,2, ......
leetcode 将有序数组转换为二叉搜索树
给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1: 输入:nums = [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] ......
[LeetCode] 1352. Product of the Last K Numbers 最后 K 个数的乘积
Design an algorithm that accepts a stream of integers and retrieves the product of the last k integers of the stream. Implement the ProductOfNumbers c ......
Leetcode 1193. 每月交易Ⅰ
1193. 每月交易Ⅰ 题目 表:Transactions + + + | Column Name | Type | + + + | id | int | | country | varchar | | state | enum | | amount | int | | trans_date | d ......
[LeetCode] 85. Maximal Rectangle_Hard tag: Dynamic Programming
Given a rows x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area. Example 1: Input: matri ......