自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 22下第十三周周赛补题

#LeetCode。

2022-12-02 09:56:16 175 3

原创 使用插入排序优化快排

希尔排序相当于分组插入排序,就是从全局的角度把乱序数组处理得趋于有序,从而提高插入排序的效率。每次选择基准数,把小于基准数的放到基准数的左边,把大于基准数的放在基准数的右边,采用“分治思想”处理剩余的序列元素,直至整个序列变为有序序列.因为左子问题中的元素总是小于等于基准,右子问题的元素总是大于等于基准,所以当序列长度越来越小时,序列一定是趋于有序的,考虑使用插入排序。由上图我们一般会联想到归并排序,因为归并排序是先分治再比较,所以可以保证每次的子问题处理的序列长度是相等的,但快速排序显然不是这样的。

2022-11-25 10:21:49 559 6

原创 22下第十一周周赛总结

如果当前数字不在它该在的位置上,把让它到他该在的位置上去 如果换过来的数也不该在这个位置就继续换 直到该在这个位置的数归位为止。:字符串哈希+最长上升子序列 或 字符串哈希+最大不相交区间的数量。字符串哈希+最大不相交区间的数量。字符串哈希+最长上升子序列。

2022-11-13 16:31:00 186

原创 22下第十周周赛总结

如图所示,我们发现如果就近就有工厂,舍近求远只会发生交叉让答案变得更大,所以存在最优方案使得在机器人下标单调递增的情况下,机器人们去的工厂的下标应该是不严格单调递增的。然后考虑该题工厂有修复上限限制,我们可以把每个工厂都看作一个分组,工厂每一种修复方案都可以看作组内的一个物品,则可以把该题变成分组背包问题。一模一样,只不过该题的工厂有修复机器上限,不是所有机器人都可以到一个工厂修复,所以不能直接用绝对值不等式找中位数。假设机器人坐标是单调递增的,假如有两个工厂下标分别为。:贪心思路和上上次周赛的第三题。

2022-11-07 12:14:40 128

原创 22下第八周周赛总结

把cost数组当作对应元素出现的个数,这样想的话,每个数的操作一次的代价就是1,然后按照。看作两个区间,让他们不相交即可。的思想,中位数即为最优解。

2022-10-23 22:42:22 260 3

原创 22下第七周周赛补题

思路:把矩阵以字符串的形式存下来,把四次旋转的结果排序存下字典序最小的作为哈希值,最后哈希表的长度就是不同矩阵的个数。

2022-10-21 12:55:57 110

原创 22下第六周周赛总结

通过图可以发现环外的点是一定无法回到环内的,所以想要满足题目条件,所有点都要在环内才行,所以先判断是否所有点入度都为1,然后用并查集维护距离即可,因为满足条件的图都是连通的环,所以不是无向图也可以用并查集维护距离。思路:先遍历字符串找到每个元素最后出现的位置,先把当前最小的都加入到答案字符串再考虑后面,最后再把t中的字符从尾到头更新到答案中即可。思路:三维状态表示dp即可,因为数据n*m小于五万,k不超过五十,所以时间开销不大。思路:每个点只有一个出度,n条边连接n个点,最后一定会有环的存在,属于基环树。

2022-10-09 15:24:42 202

原创 22下第五周周赛总结

菜就多练 慎!

2022-10-02 16:34:44 166

原创 力扣第312场周赛

坚持练,要清醒

2022-09-25 16:06:14 122 1

原创 力扣第309场周赛

摆烂一个月后的首次周赛,惨败!

2022-09-04 18:15:45 116

原创 力扣第303场周赛补题

力扣三四题+acvv二三题

2022-07-24 20:39:59 462

原创 力扣第302场周赛补题

这次简单但没写好,拉胯了

2022-07-17 16:52:48 113

原创 力扣第301场周赛补题

也许是因为我是蒟蒻,感觉最近难度提高了,emm...继续努力吧

2022-07-11 02:31:54 85

原创 力扣第300场周赛补题

思路:用关联容器使key串中字母第一个出现的顺序和字符字典序建立对应联系。 思路:没什么思路就蛇形矩阵模板,参考蛇形矩阵也可以使用偏移量来做,按照右下左上的顺序越界或遇到已经访问过的位置就转向 思路:用f[i][j]表示状态:第i天后保守秘密j天的人。状态O(n^2) 转移O(n),需要优化,发现转移时可以用前缀和预处理优化。思路:滑雪模板变种,该题符合拓扑序,以(i,j)为起点的路线的集合为状态集合,状态转移为上下左右四个方位,参考滑雪​​​​​​.........

2022-07-04 01:00:06 116

原创 力扣第299场周赛补题

题链思路:正反对角线在i=j和i+j=n-1两条线上,直接遍历所有点即可。题链思路:用0表示该位未放置房子,用1表示该位放置房子,把问题转换为不存在连续两个1的01子序列的方案数(状态机问题:一维表示路径长度,二维表示哪种状态)或者发现其实际上是斐波那契数列的规律题链思路:比赛时思路,找nums1中对位替换后对nums2之和增大贡献最大的连续子序列,然后再找nums2中对位替换后对nums1之和增大贡献最大的连续子序列,取两值较大的。代码简化:题链思路:...

2022-06-27 18:07:48 129

原创 力扣第81场双周赛补题

题目链接思路:用一个计数器记录‘|’出现的次数,‘|’出现偶数次则接下来出现的‘*’为答案所求。 题目链接思路:图的连通性问题,用总点对数减去不连通的点对。(模板题)//并查集或DFS题目链接思路:每次操作为nums[i]&(nums[i]^x),括号外为&,则nums[i]二进制表示中的0是无法改变的,只能改变1变为0,想要最后的异或和最大,就要让异或和二进制表示中有更多的1,通过刚才的分析可知,只要某列不是全为0,都可以通过操作使最后的异或和为1。比赛的时候写复杂了,下面是简化版代码:

2022-06-27 00:15:25 163

原创 第298场周赛补题

链接思路:先找大小字母都出现的,在比较它们的大写字母的大小。(比赛的时候代码写的比较差,知道思路就行了哈)链接思路:能影响个位的只有个位,从小到大遍历k乘以多少的余数可以等于num的余数,所得即答案链接思路:二进制串中0全选,以此基础上看能选多少个1链接思路:定义f[i][j]表示一块高i宽j的木块切割后的最大价值,比较其直接售卖和垂直切割和水平切割的收益取最大的即可。...

2022-06-19 14:29:56 69

原创 第293周赛总结

第一题:移除字母异位词后的结果数组题目链接题目大意:遇到连续的字母异位词只保留第一个思路:双指针class Solution {public: bool check(string s,string t){ unordered_map<char,int> mp; for(auto c:s){ mp[c]++; } for(auto c:t){ mp[c]--;

2022-05-16 18:29:36 60

原创 力扣292周赛补题

第一题:字符串中最大的三位相同数字原题链接思路:模拟class Solution {public: string largestGoodInteger(string num) { string ans; for(int i=0;i<num.size()-2;i++){ if(num[i]==num[i+1]&&num[i+1]==num[i+2]){ string tmp={

2022-05-09 12:42:22 94

原创 力扣291周赛总结

第一题:移除指定数字得到的最大结果原题链接题目大意:可以删掉number字符串中与digit字符相等的一个字符,使得删除后得到的字符串表示的数字最大,数据保证至少有一个字符可以删除。思路:模拟 借助辅助函数比较找最大的即可class Solution {public: bool check(string a,string b){ for(int i=0;i<a.size();i++){ if(a[i]==b[i]) continue;

2022-05-03 17:10:38 225

原创 力扣第290场周赛总结

第一题:多个数组求交集原题链接题目:给你一个二维整数数组nums,其中nums[i]是由不同正整数组成的一个非空数组,按升序排列返回一个数组,数组中的每个元素在nums所有数组中都出现过。示例1:输入:nums = [[3,1,2,4,5],[1,2,3,4],[3,4,5,6]]输出:[3,4]解释:nums[0] = [3,1,2,4,5],nums[1] = [1,2,3,4],nums[2] = [3,4,5,6],在 nums 中每个数组中都出现的...

2022-04-25 12:03:40 493

原创 力扣第76场双周赛总结

双周赛:第一题:找到最接近0的数字原题链接示例:输入:nums = [-4,-2,1,4,8]输出:1思路:找绝对值最小或绝对值相等是本身较大的数。class Solution {public: int findClosestNumber(vector<int>& nums) { int res=nums[0]; for(auto x:nums){ if(abs(res)>abs(x.

2022-04-17 15:02:01 337

原创 力扣288周赛补题

第一题:按奇偶性交换后的最大数字原题链接思路:先把整数num的每位数按奇偶分开,再通过判断原数该位奇偶性放入奇数或偶数。因为偶数或奇数之间可以互换,先填充大的即可得到较大的重排数。class Solution {public: int largestInteger(int num) { vector<int> ord;//原 vector<int> odd;//奇 vector<int> even..

2022-04-13 17:28:33 209

原创 广度优先搜索专题

广度优先搜索是一种盲目搜索法,目的是系统地展开并检查图中的所有节点,以寻找结果。它考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止,不使用经验法则算法。例题一:对称的二叉树(简单)题目链接:https://leetcode-cn.com/problems/symmetric-tree/题目:给你一个二叉树的根节点root,检查它是否轴对称示例一输入:root = [1,2,2,3,4,4,3]输出:true示例二输入:root = [1,2,2,null,3

2022-01-27 00:10:23 903

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除