题号leetcode题目
LeetCode279:完全平方数——动态规划算法一定是最优算法吗???
无意间看到了这么一个题: LeetCode279:完全平方数,动态规划解法超过46%,作弊解法却超过97% 看到这个题后我的第一个想法是这个动态规划算法一定是这道题最优解法吗? ......
Leetcode刷题本地debug框架搭建
思路 1. 初版 cmake + 单一.cpp文件 参考:https://blog.songjiahao.com/archives/362 2. 改良版 cmake + 源文件、头文件(含List、Tree等数据结构)分离 + gtest 参考:https://github.com/Pokerpok ......
LeetCode刷题笔记
算法 1.差分数组+前缀和 1589. 所有排列中的最大和 - 力扣(LeetCode) 对于每一次遍历都有m个数需要加1,如果对这些数遍历,则需要O(m)复杂度,此时可以记录这m个数的差分数组: 这样就可以把时间复杂度缩小到O(1),之后求前缀和就可以得到原来的数组。 2.线性筛(欧拉筛)求素 ......
LeetCode279:完全平方数,动态规划解法超过46%,作弊解法却超过97%
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇概览 这是道高频面试题,值得一看 首先,这道题的难度是中等 来看题目描述: 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 ......
next permutation 类题目 31,556
31. Next Permutation Medium 168634309Add to ListShare A permutation of an array of integers is an arrangement of its members into a sequence or linear ......
算法训练day4: LeetCode 24
算法训练day4: LeetCode 24.19.142.面试题07.02 24.两两交换链表中的结点 题目 题目24. 两两交换链表中的节点 - 力扣(LeetCode) 题解 讲解代码随想录 (programmercarl.com) 第一想法:模拟的方法,使用三个指针,将结点两两交换。 clas ......
[刷题记录Day 23]Leetcode二叉树
No.1 题目 修剪二叉搜索树 思路 递归法 有点抽象,要对具体案例做模拟才好懂 递归分析 返回值:节点,参数:节点,[下界,上界] 终止条件:遇到空节点,返回空 单层递归逻辑:判断不在范围内的情况:当前节点小于下界/大于上界,直接返回右/左子树递归结果;若在范围内,则递归筛查左右子树,返回当前节点 ......
搜索 题目
Sudoku(9*9) link1:数据强度弱 link2:数据强度强 两个优化: 按照人类直觉,可以填的数越少的位置越先填 使用二进制数字记录一行、列、宫中哪些数字用过,不使用数组,常数优化 #include <iostream> #include <cstdio> #include <cmath ......
LeetCode207——课程表
你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 b ......
LeetCode297:hard级别中最简单的存在,java版,用时击败98%,内存击败百分之九十九
LeetCode的hard题都很难吗?不一定,297就非常简单,随本文一起,用最基础的知识写代码,执行用时能击败98.46%,与此同时,内存消耗击败99.73% ......
LeetCode -- 207. 课程表 (拓扑排序)
经典拓扑排序的应用,用拓扑排序的算法看看原图中是否有一个合法的拓扑序。 class Solution { public: const static int N = 2010, M = 5010; int h[N], e[M], ne[M], idx; int d[N], q[N]; void add ......
图解 LeetCode 算法汇总——链表
> 本文首发公众号:小码A梦 一般数据主要存储的形式主要有两种,一种是数组,一种是链表。数组是用来存储固定大小的同类型元素,存储在内存中是**一片连续**的空间。而链表就不同于数组。链表中的元素不是存储在内存中**可以是不连续的空间**。 ![](https://files.mdnice.com/u ......
算法训练 Leetcode 203、206、707
# 算法训练 Leetcode 203、206、707 ## 203.移除链表元素 以为头结点是空的,里面只存着下一个结点的地址。 注意空指针检查:p!=NULL; ~~~c++ class Solution { public: ListNode *removeElements(ListNode * ......
【题解】《PTA-Python程序设计》题目集分享
第1章-1 从键盘输入两个数,求它们的和并输出 (30 分) 本题目要求读入2个整数A和B,然后输出它们的和。 输入格式: 在一行中给出一个被加数在另一行中给出一个加数 输出格式: 在一行中输出和值。 输入样例: 在这里给出一组输入。例如: 18 -48 输出样例: 在这里给出相应的输出。例如: - ......
学习使用双指针(leetcode)
一、K 和数对的最大数目(JAVA) 给你一个整数数组 `nums` 和一个整数 `k` 。 每一步操作中,你需要从数组中选出和为 `k` 的两个整数,并将它们移出数组。 返回你可以对数组执行的最大操作数。 * **示例 1:** * 输入:nums = [1,2,3,4], k = 5 * 输出: ......
LeetCode739——每日温度
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73,74,75,71,6 ......
LeetCode买卖股票之一:基本套路(122)
### 欢迎访问我的GitHub > 这里分类和汇总了欣宸的全部原创(含配套源码):[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) ### 关于《LeetCode买卖股票》系列 - 在LeetC ......
[LeetCode] 1383. Maximum Performance of a Team
You are given two integers n and k and two integer arrays speed and efficiency both of length n. There are n engineers numbered from 1 to n. speed[i] ......
算法题目分享:小美的01串翻转 | dp
> 最近遇到一个算法题目,感觉挺有意思,分享一下。原题和参考题解放在最后的链接中了。 # 题目 题目描述 小美定义一个 01 串的权值为:每次操作选择一位取反,使得相邻字符都不相等的最小操作次数。 例如,"10001"的权值是 1,因为只需要修改一次:对第三个字符取反即可。 现在小美拿到了一个 01 ......
[LeetCode] 2594. Minimum Time to Repair Cars
You are given an integer array ranks representing the ranks of some mechanics. ranksi is the rank of the ith mechanic. A mechanic with a rank r can re ......
leetcode杂记
C++中的 nullptr :https://zhuanlan.zhihu.com/p/257421030C语言中常用的是NULL,但是一旦涉及类型转换就会有风险,我们没有办法在不显示声明指针类型的情况下定义一个空指针,所以用nullptrC++中的 class solution :https:// ......
Leetcode - 滑动窗口专项小结
# 模板代码 ![image](https://img2023.cnblogs.com/blog/2753616/202309/2753616-20230906193334026-2104852955.png) # 题目练习 ## 76 最小覆盖子串 给你一个字符串 s 、一个字符串 t 。返回 s ......
LeetCode347——前K个高频元素
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1] 提示: 1 <= ......
【Leetcode刷题记录】1、统计参与通信的服务器;2、统计二叉树中好节点的数目;3、从两个数字数组里生成最小数字
1、统计参与通信的服务器 题目:这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。 如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。 思路: ......
一些题目汇总
1.涉及栈的内存分布和非法访问 下面是一段在ARM32上运行的代码,请说明它的输出结果如何? ```C #include int main() { int i; char a; //printf("i addr:0x%x\n", &i); //printf("a addr:0x%x\n", &a); ......
Leetcode16——最接近的三数之和
给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 ta ......
LeetCode 周赛上分之旅 #44 同余前缀和问题与经典倍增 LCA 算法
> ⭐️ **本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 \[彭旭锐] 和 [BaguTree Pro](https://www.mdnice.com/writing/85b28c4e60354865a423728e668fc570) 知识星球提问。** > > 学习数据 ......
leetcode-二叉树-迭代解法
二叉树遍历用递归的方式比较简单,但是迭代还是稍微有点绕,记录一下二叉树迭代遍历的统一框架,以防忘记: 主要的思路依旧是栈解决,但是为了当前栈顶元素是否需要被加入到result list中,巧妙地在需要被加入到result list中的元素之前加上一个null以示区分。 102. 二叉树的层序遍历 - ......
【Leetcode刷题记录】各种排序算法
前言:这篇文章总结一下学习的几种排序算法,假设要对一个 vector<int> 数组进行降序排序,数组中一共有 n 个数。 1、冒泡排序 思想:冒泡排序的思想就是一共进行 n - 1 次循环,每次循环把范围内最小的数冒到最后面。 因此用内为双循环,外循环为冒泡的次数,内循环为每次冒泡的范围,通过比较 ......
leetcode1161最大层内元素之和
dfs lass Solution { public: unordered_map<int,vector<int>>m; void dfs(TreeNode* root,int depth){ if(!root)return; int res=0; depth++; dfs(root->left,d ......