编程
GorgeousGu
一个普普通通的打工人!!!
展开
-
797. 差分(acwing)
输入一个长度为 n 的整数序列。接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数 n和 m。第二行包含 n 个整数,表示整数序列。接下来 m 行,每行包含三个整数 l,r,c,表示一个操作。输出格式共一行,包含 n 个整数,表示最终序列。数据范围1≤n,m≤1000001≤l≤r≤n,−1000≤c≤1000−1000≤整数序列中元素的值≤1000原创 2022-03-02 10:35:07 · 76 阅读 · 0 评论 -
大整数除一相对较小的数
#include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;int t = 0;vector<int> div(vector<int> &a,int b){ vector<int> c;//存储结果 //按位进行除法运算 //这里的除法是先将余数*1.原创 2022-03-02 08:52:41 · 137 阅读 · 0 评论 -
一个大整数×一个数(比第一个数小)
#include<iostream>#include<vector>using namespace std;//乘法实现vector<int> multi(vector<int> &a,int b){ vector<int> C; int t = 0; for(int i=0;i<a.size();i++){ //这里的乘法不同于平时的乘法,这里是先用a的每一位数相乘b,接着对进位.原创 2022-03-01 11:42:27 · 53 阅读 · 0 评论 -
两个大整数的减法
#include<iostream>#include<string>#include<vector>using namespace std;//做减法要保证大的数减去小的数bool cmp(vector<int> &a,vector<int> &b){ //判断条件里面的不能写成a.size() > b.size(),结果会有错误 if(a.size() != b.size()) return...原创 2022-03-01 11:11:54 · 137 阅读 · 0 评论 -
两个超大整数的相加问题
大整数相加问题,最核心的问题就是怎样处理每位数的相加以及进位的处理问题。另外一点就是,大整数如何存储能够使得,两数相加时,更加容易处理。 此代码中,给出的思想就是,首先用字符串类型接收两个大整数,具体存储每位数用vector存储,此时要注意,为了计算方便,存放在vector中时,按照由低位到高位存储,为了方便处理进位问题。 在进行按位相加时,要理清楚相加操作时,进位的更新以及要注意,在最后相加完成后,仍有进位时,需要继续处理。#include<iostr...原创 2022-03-01 09:33:13 · 709 阅读 · 0 评论 -
归并排序-核心代码
归并代码的主要的代码如下所示:const int N = 1e6+10;int q[N],tmp[N];void merge_sort(int q[],int l,int r){ //递归结束返回条件 if(l>=r) return; //第一步找到区间的中点位置,方便继续划分区间 int mid = l + r >> 1; //第二步根据找到的mid,进一步调用归并函数划分区间 merge_sort(q,l,m原创 2022-02-28 11:28:51 · 195 阅读 · 0 评论 -
剑指offer 48 最长不含重复字符的子字符串
题目描述:从字符串中找出一个最长的不含重复字符的子字符串,计算最长子字符串的长度输入:“abcabcbb”输出:3(无重复字符的最长字串是“abc”)解题思路: 依次遍历所给字符串,并记录每个元素出现的次数,如果出现某个元素出现次数超过1时,就出现了重复。此时就要将前面的舍弃掉。直到当前的元素出现的次数不超过1即可。记录元素出现的次数,要用到 map<char,int> mp 来进行记录。每次访问一个新的元素时,就要进行更新当前的最长不重复...原创 2021-09-03 21:25:01 · 38 阅读 · 0 评论 -
LeetCode 633:平方数求和
题目的说明与输入输出:参数要求: 这道题目看上去不是很难,但是想要快速的通过却不是很容易的事情。按照正常的逻辑,如果所给的数值开方后是个整数,则其必定存在两个整数的各自平方和相加的结果是c,如果开方后得到的结果并不是整数,此时就要从0开始遍历到sqrt(c)之间,判断在此区间中是否会存在两个数的各自的平方相加的结果是等于c的。最直观的解决方法就是两层遍历,分别从0开始依次累加进行判断。这里需要注意的是当所给c较大时,一方面得到的平方后的和会超出 int 型的范围,另一方面是,...原创 2021-08-23 22:06:48 · 100 阅读 · 0 评论