![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
每日刷题记录
文章平均质量分 62
日常刷题,包括但不仅限于力扣题库、各公司笔试题等
DeepBlackkk
这个作者很懒,什么都没留下…
展开
-
4.23力扣刷题记录
文章目录1.二叉树的宽度1.二叉树的宽度二叉树的宽度solution:层序遍历+存储结点在当前层的位置/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNod原创 2022-04-23 10:04:50 · 1017 阅读 · 0 评论 -
4.17力扣刷题记录
文章目录1.转角路径的乘积中最多能有几个尾随零--前缀和思想、10的倍数的处理1.转角路径的乘积中最多能有几个尾随零–前缀和思想、10的倍数的处理题目地址周赛第三题,想到了前缀和的思想,但是没有想到如何巧妙的保存结果,使得结果既能保存为10的倍数的信息,又不占用过多空间。事实上,乘尾随0的个数,就是所有乘数因子中,2和5的个数中的最小值。具体代码如下:typedef struct multi{ pair<int,int> left,right,up,down;}multi;原创 2022-04-17 19:12:49 · 160 阅读 · 0 评论 -
4.7力扣刷题记录
文章目录1.旋转字符串--KMP1.旋转字符串–KMP题目地址KMP字符串匹配算法,找出p0...pj−1p_0...p_{j-1}p0...pj−1中前缀子串和后缀子串相同的最大值。KMP算法,包括改进后的next数组代码如下class Solution {public: bool rotateString(string s, string goal) { if(s.size()!=goal.size()) return false;原创 2022-04-07 11:17:34 · 734 阅读 · 0 评论 -
4.4力扣刷题记录
文章目录1. 区域和检索 - 数组可修改--线段树1. 区域和检索 - 数组可修改–线段树题目地址写了个线段树的轮子:线段树数据结构,数组seg_tree,构造函数build_tree,单点修改函数update_tree,区间查询函数query_tree。b站线段树讲解+手撕代码class NumArray { vector<int> nums;public: NumArray(vector<int>& nums) { this-原创 2022-04-04 15:55:33 · 1149 阅读 · 0 评论 -
4.2刷题记录
文章目录1.大数乘法1.大数乘法class Solution {public: string multiply(string num1, string num2) { string ans=""; int m=num1.size(),n=num2.size(); vector<int> res(m+n,0);//两数相乘位数最多不会超过它们的位数之和 for(int i=n-1;i>=0;i--){原创 2022-04-02 15:43:40 · 52 阅读 · 0 评论 -
3.30力扣刷题记录
文章目录1.No.1606 找到处理最多请求的服务器1.No.1606 找到处理最多请求的服务器题目描述:你有 k 个服务器,编号为 0 到 k-1 ,它们可以同时处理多个请求组。每个服务器有无穷的计算能力但是 不能同时处理超过一个请求 。请求分配到服务器的规则如下:第 i (序号从 0 开始)个请求到达。如果所有服务器都已被占据,那么该请求被舍弃(完全不处理)。如果第 (i % k) 个服务器空闲,那么对应服务器会处理该请求。否则,将请求安排给下一个空闲的服务器(服务器构成一个环,必要的话可原创 2022-03-30 19:56:56 · 131 阅读 · 0 评论 -
3.29力扣刷题记录
文章目录1.No.1004最大连续1的个数--滑动窗口1.No.1004最大连续1的个数–滑动窗口题目描述:给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。难度:中等示例:输入:nums = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1] 粗体数字从 0 翻转到 1,最长的子数组长度为 6。最大连续1的个数相似题目:3.29每日一题–考试的最大原创 2022-03-29 12:13:07 · 74 阅读 · 0 评论 -
3.27力扣刷题记录
文章目录1.No.210课程表Ⅱ--拓扑排序1.No.210课程表Ⅱ–拓扑排序题目描述:现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] = [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示:[0,1] 。返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回 任意一原创 2022-03-27 15:57:37 · 281 阅读 · 0 评论 -
3.26力扣刷题记录
文章目录1.No.1996游戏中弱角色的数量1.No.1996游戏中弱角色的数量题目描述:你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个二维整数数组 properties ,其中 properties[i] = [attacki, defensei] 表示游戏中第 i 个角色的属性。如果存在一个其他角色的攻击和防御等级 都严格高于 该角色的攻击和防御等级,则认为该角色为 弱角色 。更正式地,如果认为角色 i 弱于 存在的另一个角色 j ,那么 attackj >原创 2022-03-27 11:15:00 · 68 阅读 · 0 评论 -
3.25力扣刷题记录
文章目录1.字符串的排列--回溯(去重1.字符串的排列–回溯(去重题目描述:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。难度:中等字符串的排列题解:贴一版比较容易想到的,直接在常规的排列的代码上加入hash实现去重的代码。class Solution {vector<string> ans;unordered_set<string> set;public: void backtracking转载 2022-03-25 20:08:59 · 125 阅读 · 0 评论 -
3.24力扣刷题记录
文章目录1.滑动窗口的最大值(等价于实现max函数的队列1.滑动窗口的最大值(等价于实现max函数的队列题目描述:给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。难度:困难示例:来自力扣示例剑指offer59/力扣239题解:我们先看一道包含min函数的栈。题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。class MinStack {private原创 2022-03-24 21:01:31 · 842 阅读 · 0 评论 -
3.22记录
文章目录1.经典问题-链表判环1.经典问题-链表判环题目描述:给你一个链表,判断链表中有没有环,如果有输出true,否则,输出false题解:快慢指针相遇则有环,否则快指针指向NULL,则没有环。class Solution {public: bool hasCycle(ListNode *head) { if(head==NULL) return false; ListNode* slow,* fast; slow原创 2022-03-22 19:30:38 · 51 阅读 · 0 评论 -
3.19记录
文章目录1.计算器2.猜算式1.计算器实现一个计算器,可以计算+、-、*、/ 四则运算,允许表达式中有括号,且“-”可以作为一元运算符出现。例:(-1-1)*2+ 3 *(4/2)主函数为calculate函数,输入为表达式,返回值是运算结果。class Solution { //$,+,-,*,/,( char table[6][6]={ {'<','<','<','<','<','<'}, {'>','&原创 2022-03-19 20:25:29 · 144 阅读 · 0 评论 -
3.17力扣刷题记录
文章目录1.构建乘积数组1.构建乘积数组题目描述:给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof著作权归领扣网络所有。商原创 2022-03-17 13:10:47 · 579 阅读 · 0 评论 -
3.18力扣刷题记录
文章目录1.网络延迟时间-迪杰斯特拉算法1.网络延迟时间-迪杰斯特拉算法题目描述:有 n 个网络节点,标记为 1 到 n。给你一个列表 times,表示信号经过 有向 边的传递时间。 times[i] = (ui, vi, wi),其中 ui 是源节点,vi 是目标节点, wi 是一个信号从源节点传递到目标节点的时间。现在,从某个节点 K 发出一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,返回 -1 。难度:中等示例:题目地址题解:class Solution原创 2022-03-18 20:48:05 · 239 阅读 · 0 评论 -
3.16力扣刷题记录
文章目录1. I. 数组中数字出现的次数(位运算)2.地图分析(多源dfs)3.另一个树的子树(bfs,kmp)1. I. 数组中数字出现的次数(位运算)题目描述:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。难度:中等示例:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]题目地址题解:class Solution {public:原创 2022-03-16 11:48:34 · 360 阅读 · 0 评论 -
3.15力扣刷题记录
文章目录1.省份数量(并查集)2.统计子岛屿(DFS)3.每日一题:统计按位或能得到最大值的子集数目(DFS)1.省份数量(并查集)题目描述:有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直原创 2022-03-15 11:58:01 · 483 阅读 · 0 评论 -
3.14力扣刷题记录
3.14力扣刷题记录1.数值的整数平方(分治,快速幂)题目内容:实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xnx^nxn)。不得使用库函数,同时不需要考虑大数问题。难度:中等数据范围:−100.0<x<100.0-100.0 < x < 100.0−100.0<x<100.0−231≤n≤231-2^{31} \le n \le 2^{31}−231≤n≤231−104≤xn≤104-10^4\le x^n \le 10^4−104≤原创 2022-03-14 17:24:44 · 1131 阅读 · 0 评论