自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 周赛补题(AcWing、力扣)

这次因为参加数学建模所以一场周赛都没有参加,题解就有点水了

2022-09-20 20:05:49 308 1

原创 周赛补题(AcWing、力扣)

acwing、力扣

2022-09-15 16:21:36 477

原创 周赛补题(力扣、acwing)

力扣,acwing

2022-09-05 12:04:31 637

原创 周赛补题(AcWing、力扣)

AcWing、力扣

2022-08-29 21:57:38 519 1

原创 周赛补题(AcWing、力扣)

AcWing、力扣

2022-08-25 14:14:26 278

原创 周赛补题(AcWing,力扣)

AcWing、力扣

2022-08-17 14:30:31 207

原创 周赛补题(力扣,acwing)

力扣,AcWing

2022-08-08 14:28:27 303

原创 周赛补题(acwing, 力扣)

力扣,acwing

2022-08-03 23:12:09 199

原创 周赛补题(力扣、AcWing)

acwing(1, 2, 3)力扣单周赛(1, 2, 3, 4)力扣双周赛(1, 2, 3, 4)

2022-07-25 11:52:01 220

原创 周赛补题(AcWing,力扣)

有什么不对的地方请大佬指出来

2022-07-21 13:39:59 269

原创 周赛补题(AcWing,力扣)

如果有什么不对的地方请大佬讲出来

2022-07-12 13:01:49 409

原创 周赛补题(AcWing周赛,力扣周赛)

如果有什么不是很对的地方欢迎大佬指出来

2022-07-07 15:49:14 386 1

原创 力扣299场周赛+AcWing57场周赛

因为本人的算法能力有限,可能会有一点瑕疵,如果有大佬找到问题可以直接提出来

2022-06-30 14:36:16 359

原创 AcWing第56场周赛+力扣第298周赛

这个可能有些位置表达的不是很清楚,请大家见谅

2022-06-20 11:16:26 155

原创 力扣第293场周赛

第一题:移除字母异位后的结果数组思路:模拟。用哈希表来存储一个排序好的字符串和下标代码:class Solution {public: vector<string> removeAnagrams(vector<string>& words) { unordered_map<string, int> mp; vector<string> ans; for(int i

2022-05-18 17:27:46 189

原创 力扣第78场双周赛

第一题:找到一个数字K美丽值思路:模拟。代码:class Solution {public: int divisorSubstrings(int num, int k) { int cnt = 0; string s = to_string(num); for(int i = 0; i < s.size() - k + 1; i ++){ int sum = 0;

2022-05-18 17:26:08 149

原创 AcWing 第51场周赛

第一题:上车思路:模拟代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 110;int a[N], b[N];int n;int main(){ cin >> n; for(int i = 0; i < n; i ++) cin >> a[i] &

2022-05-18 10:54:17 255

原创 AcWing 第50场周赛

第一题:缺少的数思路:排序后查找代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1e5 + 10;int a[N];int n;int main(){ cin >> n; for(int i = 0; i < n - 1; i ++) cin >&g

2022-05-13 15:28:11 183 1

原创 力扣第292场周赛

第一题:字符串中最大的3位相同的数字思路:双指针+模拟代码:class Solution {public: string largestGoodInteger(string num) { string s; for(int i = 0; i < num.size(); i ++){ int j = i; while(j < num.size() && num[i] == num

2022-05-12 11:39:27 118

原创 AcWing第49场周赛

第一题:组队思路:直接循环判断代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;int main(){ int n, k; cin >> n >> k; int cnt = 0; while(n --){ int x; cin >> x;

2022-05-01 14:48:06 292

原创 力扣第77场双周赛

第一题:统计是给定字符串前缀的字符串数目思路:用哈希表来存储字符串的前缀,for循环查找代码:class Solution {public: int countPrefixes(vector<string>& words, string s) { unordered_map<string, int> mp; string str; for(int i = 0; i < s.size(); i ++

2022-05-01 14:45:44 93

原创 力扣第291场周赛

第一题:移除指定数字得到的最大结果思路:我是想着找打最大的应该分为两中情况:1、找到一个在字符串中digit的位置后面的字典序比这个大,删掉这个。2、最后一个digit删除。但是因为有一些混乱导致22分钟才写出了,我太菜了。代码:class Solution {public: string removeDigit(string number, char digit) { string s; int sum = 0; f

2022-05-01 14:34:53 106

原创 力扣第290场周赛

第一题:多个数组求交集思路:刚开始看到题目确实吓到了,因为很难但是看到数据发现可以直接模拟,用一个长度为1100的数组来存储i在二维数组中出现的次数a[i],如果一个数出现的次数为二维数组的长度,则该数在每个数组中都出现过,因为(二维数组的一行)一个数组中的数都各不相同代码:class Solution {public: vector<int> intersection(vector<vector<int>>& nums) {

2022-04-27 18:56:49 102

原创 AcWing第48场周赛

第一题:吃鸡蛋思路:直接暴力模拟代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(0), cout.tie(0); int n, m; cin >> n >> m; int i

2022-04-24 09:18:36 112

原创 力扣第76场双周赛

第一题:找到最接近0的数字思路:用一个数表示到0之间的距离代码:class Solution {public: int findClosestNumber(vector<int>& nums) { int res = -1e7, m = 1e7; //res为数字,m为到0的距离 for(int i : nums){ if(fabs(i) < m){ m = fabs(i

2022-04-20 10:10:14 85

原创 力扣第289场周赛

第一题:计算字符串的数字和思路:这题可以直接暴力模拟代码:class Solution {public: string digitSum(string s, int k) { while(s.size() > k){ string str; int m = 0, j = 0; for(int i = 0; i < s.size(); i ++, j ++){

2022-04-18 21:31:55 212

原创 AcWing第47场周赛

第一题:数字母思路:用哈希表来写,需要注意的是输入的字符串是有空格的,应该用getline或者gets来输入代码:#include <iostream>#include <cstring>#include <algorithm>#include <unordered_set>using namespace std;int main(){ unordered_set<char> mp; string s;

2022-04-17 10:12:57 60

原创 力扣第288场周赛

T1题目链接:6037. 按奇偶性交换后的最大数字 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/largest-number-after-digit-swaps-by-parity/将数num的每一位数用两个数组存储一个存储奇数,一个存储偶数,并对它们进行排序,将num转化为字符串,将之前排序后数组的最大值与字符串对应的数字的奇偶进行转换。代码:class Solution {public: i

2022-04-10 23:55:38 240

原创 acwing第46周赛

T1第一次写的时候没有看清楚题目还以为先取完的获胜(测试样例的时候没有看清楚答案是不是正确的),结果wa了一次,呜呜呜呜~,我是撒币。看清楚题目后发现每个人每次只用取一颗,实际上就是比较石子的大小。代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;int n1, n2, k1, k2;int main(){ cin

2022-04-10 09:57:25 59

原创 285周赛回顾

T1.用一个数组来存储不连续的数,在新数组中找峰谷和峰顶的数量代码:class Solution {public: int countHillValley(vector<int>& nums) { int cnt = 0; vector<int> ans; for(int i = 0; i < nums.size(); i ++){ int j = i; .

2022-03-23 17:52:17 52

原创 用数组模拟基本的数据结构

一.单链表链表有若干个节点组成。节点由值的next指针组成struct Node{ //节点的结构体 int val; Node* next;}用两个数组(一个数组用来存储该节点的值,一个数组用来存储节点的next)代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1e

2022-03-17 21:55:19 452

原创 基础算法结尾

双指针:核心思想:优化暴力:(时间复杂度O(n^2)for(int i = 0; i < n; i ++) for(int j = 0; j < i; j ++) if(check(i, j))双指针:(时间复杂度接近O(n))for(int i = 0, j = 0; i < n; i ++){ while(j < i && check(i, j))一般写双指针之前都可以向写一下暴力。位运算:位运算

2022-03-15 23:40:31 360

原创 248周赛回顾

第一题同一个数组来存储数组nums中key的下标。然后通过for循环找出符合题目条件的下标。class Solution {public: vector<int> findKDistantIndices(vector<int>& nums, int key, int k) { vector<int> ans; for(int i = 0; i < nums.size(); i ++){

2022-03-15 16:05:16 914

原创 排序(快排、冒泡、归并)

1.快排:核心思想:将一个数组先划分为两个区间,递归这两个区间是其有序。重点:划分区间:通过数组之间的随机一个值x将数组划分为大于x和小于x的两个区间。 方法:用双指针。一个指针i指向l,一个指针j指向r,i向右移动直到a[i]>=x,然后j向左移动直到a[j]<=x,交换a[i]和a[j],一直重复该操作直到i>=j。难点:划分区间时会出现边界问题。代码:(升序)//假设数组为a,让a数组从[l, r]为升序void quick_sort(int...

2022-03-14 20:49:58 329 2

原创 前缀和+哈希表

一维数组模板:unordered_map<int, int> mp;mp[0] = 1;int sum = 0;for(auto i : nums){ //这里假设数组为nums sum += i; if(mp.count()) mp[sum] ++;} 二维数组模板//这里假设二维数组为numsint n = nums.size(), m = nums[0].size();vector<vector<int>>

2022-03-06 17:25:34 404

原创 高精度(加、减、乘、除)

模板一:高精度相加题目:给定两个正整数(不含前导0), 计算它们的和。输入格式共两行,每行包含一个整数数据范围1 <= 整数长度 <= 100000输入样例1223输出样例35代码:#include<iostream>#include <vector>using namespace std;vector<int> add(vector<int>& A, vector&lt

2022-03-01 21:56:47 335

原创 位运算的简单使用

位运算的介绍运算符 名称及其规则 例子 ~ 取反(~1 = 0, ~0 = 1) ~11101 = 10 & 按位与(1&1 = 1, 0&1 = 1&0 = 0&0 = 0) 11001 & 10100 = 10000 | 按位或(1|1 = 0|1 = 1|0 = 1, 0|0 = 0) 1001 | 10 = 1011 ^ 按位异或(0^1 = 1^0 = 1, 0^0 = 1.

2022-02-24 16:03:24 711

原创 简单dfs(两个例题 中等 中等)

例题 一 :岛屿数量(力扣 200 中等)题目链接:200. 岛屿数量 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/number-of-islands/题目:给你一个由'1'(陆地)和'0'(水)组成的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ..

2022-02-19 22:35:33 759

原创 桶排序(中等, 中等)

例题 1: 根据字符出现的频率排序(力扣 451 中等)题目链接:力扣https://leetcode-cn.com/problems/sort-characters-by-frequency/题目: 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次, 'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外, "eetr"也是一个有效的答案。示例 2:输入:..

2022-02-14 14:23:50 387

原创 回溯(二个例题 中等 中等)

例题一 :全排列(力扣 46 中等)题目链接:力扣https://leetcode-cn.com/problems/permutations/题目: 给定一个不含重复数字的数组nums, 返回其所有可能的全排列。你可以按任意顺序返回答案。示例 1:输入:nums = [ 1, 2, 3]输出:[ [ 1, 2, 3], [ 1, 3, 2], [ 2, 1, 3], [ 2, 3, 1], [ 3, 1, 2], [ 3, 2, 1]]示例 2:输入:nums = [ 0,

2022-02-03 20:21:22 998

空空如也

空空如也

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

TA关注的人

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