- 博客(22)
- 收藏
- 关注
原创 5.4 acwing数学知识部分 质数 约数
一、约数总体思路:1.872. 最大公约数 题目 提交记录 讨论 题解 视频讲解给定nn对正整数ai,biai,bi,请你求出每对数的最大公约数。输入格式第一行包含整数nn。接下来nn行,每行包含一个整数对ai,biai,bi。输出格式输出共nn行,每行输出一个整数对的最大公约数。数据范围1≤n≤1051≤n≤105,1≤ai,bi≤2×1091≤ai,bi≤2×109输入样例:...
2022-05-05 00:27:08
687
原创 4.20 acwing数据结构 哈希表 stl
一、哈希表是什么拉链法:开放寻址法:---------------------------------------------------------------------------------------------------------------------------------二、840. 模拟散列表 题目 提交记录 讨论 题解 视频讲解维护一个集合,支持如下几种操作:I x,插入一个数xx;...
2022-04-20 17:44:54
203
原创 4.6 acwing算法基础课 数据结构 最大异或对 食物链 哈希表 较难
一、143. 最大异或对 题目 提交记录 讨论 题解 视频讲解在给定的NN个整数A1,A2……ANA1,A2……AN中选出两个进行xorxor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数NN。第二行输入NN个整数A1A1~ANAN。输出格式输出一个整数表示答案。数据范围1≤N≤1051≤N≤105,0≤Ai<2310≤Ai<231输入样例:31 2 3输出样例:...
2022-04-06 22:55:33
345
原创 4.1 acwing算法基础课 数据结构 堆排序 并查集 trie树延申题
一、堆排序838. 堆排序 题目 提交记录 讨论 题解 视频讲解输入一个长度为nn的整数数列,从小到大输出前mm小的数。输入格式第一行包含整数nn和mm。第二行包含nn个整数,表示整数数列。输出格式共一行,包含mm个整数,表示整数数列中前mm小的数。数据范围1≤m≤n≤1051≤m≤n≤105,1≤数列中元素≤1091≤数列中元素≤109输入样例:5 34 5 1 3 2输出样例:...
2022-04-01 23:54:05
162
原创 3.31 acwing算法基础课 数据结构 trie 并查集 堆
一、835. Trie字符串统计 题目 提交记录 讨论 题解 视频讲解维护一个字符串集合,支持两种操作:I x向集合中插入一个字符串xx; Q x询问一个字符串在集合中出现了多少次。共有NN个操作,输入的字符串总长度不超过105105,字符串仅包含小写英文字母。输入格式第一行包含整数NN,表示操作数。接下来NN行,每行包含一个操作指令,指令为I x或Q x中的一种。输出格式对于每个询问指令Q x,都要输...
2022-03-31 22:56:03
1116
原创 3.29 acwing算法基础课 数据结构 算术栈 队列 单调队列(滑动窗口) 单调栈 kmp(较难)
一、3302. 表达式求值 题目 提交记录 讨论 题解 视频讲解给定一个表达式,其中运算符仅包含+,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。注意:数据保证给定的表达式合法。 题目保证符号-只作为减号出现,不会作为负号出现,例如,-1+2,(2+2)*(-(1+1)+2)之类表达式均不会出现。 题目保证表达式中所有数字均为正整数。 题目保证表达式在中间计算过程以及结果中,均不超过231−1231−1。 题...
2022-03-30 00:01:01
318
原创 3.28 acwing算法基础课 第二章链表 栈
一、826. 单链表 题目 提交记录 讨论 题解 视频讲解实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数; 删除第kk个插入的数后面的数; 在第kk个插入的数后插入一个数。现在要对该链表进行MM次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第kk个插入的数并不是指当前链表的第kk个数。例如操作过程中一共插入了nn个数,则按照插入的时间顺序,这nn个数依次为:第11个插入的数,第22...
2022-03-28 22:25:32
135
原创 3.27 acwing算法基础课 第一章 双指针 位运算 区间和 区间合并
一、799. 最长连续不重复子序列 题目 提交记录 讨论 题解 视频讲解给定一个长度为nn的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数nn。第二行包含nn个整数(均在0∼1050∼105范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1≤n≤1051≤n≤105输入样例:51 2 2 3 5输出样例:...
2022-03-27 22:03:47
276
原创 3.22 23 acwing算法基础课 第一章 高精度和前缀和差分算法
一、791. 高精度加法 题目 提交记录 讨论 题解 视频讲解给定两个正整数(不含前导00),计算它们的和。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的和。数据范围1≤整数长度≤1000001≤整数长度≤100000输入样例:1223输出样例:35思路:使用t来记录进位,考虑a,b的数位大小,我的思路为a>b;还有几个注意点,使用string输入,并将每一位其转化为int存在a,...
2022-03-23 22:41:59
514
1
原创 3.21 acwing算法基础课 第一章 快排归并和二分法
一、快速排序void digui(int *sz,int left,int right){ if(left>=right)return; int l=left-1,r=right+1,mid=(r+l)/2; int key=sz[mid]; while(l<r) { while(sz[++l]<key); while(sz[--r]>key); if(l<r)swap(sz[l],
2022-03-22 00:14:02
112
原创 3.16《LeetCode零基础指南》第九讲递归学习反思
一、938. 二叉搜索树的范围和难度简单279给定二叉搜索树的根结点root,返回值位于范围[low, high]之间的所有结点的值的和。示例 1:输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32示例 2:输入:root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10输出:23提示:树中节点数目在范围[1, 2 * 10...
2022-03-16 21:36:00
817
原创 3.15《LeetCode零基础指南》第九讲递归学习反思
一、(未做看了)463. 岛屿的周长难度简单519收藏分享切换为英文接收动态反馈给定一个row x col的二维网格地图grid,其中:grid[i][j] = 1表示陆地,grid[i][j] = 0表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度...
2022-03-15 23:07:44
1411
原创 3.14《LeetCode零基础指南》第七讲二维数组学习反思
一、1351. 统计有序矩阵中的负数难度简单87给你一个m* n的矩阵grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回grid中负数的数目。示例 1:输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8解释:矩阵中共有 8 个负数。示例 2:输入:grid = [[3,2],[1,0]]输出:0示例 3:输入:grid = [[1,-...
2022-03-14 22:36:39
293
原创 3.13《LeetCode零基础指南》第六讲贪心学习反思(有标记题目)哈希线性探测
一、945. 使数组唯一的最小增量难度中等203给你一个整数数组nums。每次 move 操作将会选择任意一个满足0 <= i < nums.length的下标i,并将nums[i]递增1。返回使nums中的每个值都变成唯一的所需要的最少操作次数。示例 1:输入:nums = [1,2,2]输出:1解释:经过一次 move 操作,数组将变为 [1, 2, 3]。示例 2:输入:nums = [3,2,1,2,1,7]输出:6解...
2022-03-13 21:54:06
148
原创 3.11《LeetCode零基础指南》第六讲贪心学习反思
一、1913. 两个数对之间的最大乘积差难度简单15两个数对(a, b)和(c, d)之间的乘积差定义为(a * b) - (c * d)。例如,(5, 6)和(2, 7)之间的乘积差是(5 * 6) - (2 * 7) = 16。给你一个整数数组nums,选出四个不同的下标w、x、y和z,使数对(nums[w], nums[x])和(nums[y], nums[z])之间的乘积差取到最大值。返回以这种方式取得的乘积差中的最大...
2022-03-12 23:58:13
327
原创 3.10《LeetCode零基础指南》第五讲排序API学习反思
一、905. 按奇偶排序数组难度简单234给定一个非负整数数组A,返回一个数组,在该数组中,A的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。class Solution {public: vector<int> sortArrayByParity(vector<int>...
2022-03-10 22:05:09
97
原创 3.9《LeetCode零基础指南》第五讲排序API学习反思
一、三大排序方法:升序快速排序:class Solution {public: void quicksort(vector<int>& a,int left,int right){ if(left>=right)return; int i=left-1,j=right+1; int mid=(left+right)/2; int key=a[mid]; while(i<j) { while(a[
2022-03-09 23:07:45
174
原创 3.8《LeetCode零基础指南》第五讲学习反思
学习知识:1.若compar小于0,则p1所指元素在p2所指元素左边;若compar大于0,则p1所指元素在p2所指元素右边;int compar(const void *p1, const void *p2);2.撰写函数时,若不确定p1是什么类型,可以用void*代表空指针,再之后对其赋形。递增函数:int cmp(const void*p1, const void *p2) { // (1) int v1 = *(int *)p1;
2022-03-08 23:37:36
790
原创 3.7《LeetCode零基础指南》第四讲学习反思
一、1470. 重新排列数组难度简单79给你一个数组nums,数组中有2n个元素,按[x1,x2,...,xn,y1,y2,...,yn]的格式排列。请你将数组按[x1,y1,x2,y2,...,xn,yn]格式重新排列,返回重排后的数组。示例 1:输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7] 解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]...
2022-03-07 23:01:43
137
原创 3.5《LeetCode零基础指南》第二三讲学习反思
一、1492. n 的第 k 个因子难度中等22收藏分享切换为英文接收动态反馈给你两个正整数 n 和 k 。如果正整数 i 满足 n % i == 0 ,那么我们就说正整数 i 是整数 n 的因子。考虑整数 n 的所有因子,将它们 升序排列 。请你返回第 k 个因子。如果 n 的因子数少于 k ,请你返回 -1 。解法略。--------------------------------------------------------------------------------
2022-03-06 02:41:07
173
原创 3.3《LeetCode零基础指南》第一第二讲学习反思(新知识)
一、面试题 16.07. 最大数值难度简单108收藏分享切换为英文接收动态反馈编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。示例:输入: a = 1, b = 2输出: 2class Solution {public: int maximum(int a, int b) { int la=sizeof(a)*8; int aa=static_cast<unsigned>(a)>
2022-03-03 23:00:09
207
原创 3月2日《LeetCode零基础指南》第一讲学习反思
位运算:面试题 17.01. 不用加号的加法难度简单65收藏分享切换为英文接收动态反馈设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。示例:输入: a = 1, b = 1输出: 2java和c++版:class Solution { public int add(int a, int b) { if(b==0){ return a; } int c=a
2022-03-03 00:04:49
85
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人