- 博客(18)
- 收藏
- 关注
原创 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
1092
原创 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
261
原创 4.7力扣刷题记录
文章目录1.旋转字符串--KMP 1.旋转字符串–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
814
原创 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
1242
原创 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
96
原创 3.30力扣刷题记录
文章目录1.No.1606 找到处理最多请求的服务器 1.No.1606 找到处理最多请求的服务器 题目描述: 你有 k 个服务器,编号为 0 到 k-1 ,它们可以同时处理多个请求组。每个服务器有无穷的计算能力但是 不能同时处理超过一个请求 。请求分配到服务器的规则如下: 第 i (序号从 0 开始)个请求到达。 如果所有服务器都已被占据,那么该请求被舍弃(完全不处理)。 如果第 (i % k) 个服务器空闲,那么对应服务器会处理该请求。 否则,将请求安排给下一个空闲的服务器(服务器构成一个环,必要的话可
2022-03-30 19:56:56
200
原创 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
126
原创 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
338
原创 3.26力扣刷题记录
文章目录1.No.1996游戏中弱角色的数量 1.No.1996游戏中弱角色的数量 题目描述: 你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个二维整数数组 properties ,其中 properties[i] = [attacki, defensei] 表示游戏中第 i 个角色的属性。 如果存在一个其他角色的攻击和防御等级 都严格高于 该角色的攻击和防御等级,则认为该角色为 弱角色 。更正式地,如果认为角色 i 弱于 存在的另一个角色 j ,那么 attackj >
2022-03-27 11:15:00
117
转载 3.25力扣刷题记录
文章目录1.字符串的排列--回溯(去重 1.字符串的排列–回溯(去重 题目描述: 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 难度:中等 字符串的排列 题解: 贴一版比较容易想到的,直接在常规的排列的代码上加入hash实现去重的代码。 class Solution { vector<string> ans; unordered_set<string> set; public: void backtracking
2022-03-25 20:08:59
181
原创 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
925
原创 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
93
原创 3.19记录
文章目录1.计算器2.猜算式 1.计算器 实现一个计算器,可以计算+、-、*、/ 四则运算,允许表达式中有括号,且“-”可以作为一元运算符出现。 例:(-1-1)*2+ 3 *(4/2) 主函数为calculate函数,输入为表达式,返回值是运算结果。 class Solution { //$,+,-,*,/,( char table[6][6]={ {'<','<','<','<','<','<'}, {'>','&
2022-03-19 20:25:29
205
原创 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
293
原创 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
634
原创 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
420
原创 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
620
原创 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
1248
空空如也
如何获取百度百科的搜索推荐列表
2023-08-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅