既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <queue>
#include <algorithm>
#include <vector>
#include <iomanip>
#include "limits.h"
#include "math.h"
using namespace std;
int main(int argc, const char \* argv[]) {
int n, k;
cin >> n >> k;
vector<int> nums(n);
int val;
for(int i=0; i<n; i++){
cin >> val;
nums[i] = val;
}
for(int i=0; i<=k-2; i++){
cout << nums[i] << " ";
}
for(int i=k; i<n; i++){
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
2、字典序第k小的子串:k=[1,5]
题目
代码
由于k的特殊性:k=[1,5],那答案字符串的长度也不会超过k,只要把长度为k以内的所有子串抠出来排个序就可以了。用set存储会自动排序。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <queue>
#include <algorithm>
#include <vector>
#include <iomanip>
#include <set>
#include "limits.h"
#include "math.h"
using namespace std;
int main(int argc, const char \* argv[]) {
string str;
int k;
cin >> str >> k;
set<string> s; //自动升序排序
for(int i=0; i<str.length(); i++){
//以i开头的长度不超过k的子串
string substr = "";
for(int j=i; j<(i+k); j++){
if( j >= str.length() ){
continue;
}
substr += str[j];
if( s.find(substr)==s.end() ){
s.insert(substr);
}
}
}
set<string>::iterator iter = s.begin();
// for(; iter!=s.end(); iter++){
// cout << \*iter << endl;
// }
for(int i=2; i<=k; i++){
iter++;
}
cout << \*iter << endl;
return 0;
}
3、数位和最大
题目
思路
- ac代码。思路是尽量让9安排在个位,并可以计算出另一个数的个位数。这两个的总和就是个位的位数和。
- 但其实可以简单思考,将x位数拆分成由x-1个9组成的数a,以及n-a。两种代码都记录一下。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <queue>
#include <algorithm>
#include <vector>
#include <iomanip>
#include "limits.h"
#include "math.h"
using namespace std;
int main(int argc, const char \* argv[]) {
//将数字n拆成两数之和,求怎么拆,使得两数的数位和最大。输出这个数位和。
int t;
cin >> t;
while( t-- ){
long long n;
cin >> n; //n的取值范围[1, 10^12] 这也太大了...暴力怕是不行吧
//思路:尽量让9安排在个位
long long sum = 0;
while( n > 0 ){
//n只有个位数时
if( n <= 9){
sum += n;
n /= 10;
continue;
}
//从个位数取9,并可以计算出另一个数的个位数。这两个的总和就是个位的位数和。
if( n%10==9 ){//个位有9,另一位就给0
sum += 9;
n = n/10;
}else{//个位数不到9,那就从上一位借1。
sum += n%10 + 10;
![img](https://img-blog.csdnimg.cn/img_convert/116be29b11b7bd5910ce2770eb8d9d3a.png)
![img](https://img-blog.csdnimg.cn/img_convert/00740cdd2a03e3b63014cb00508a4a09.png)
![img](https://img-blog.csdnimg.cn/img_convert/ea4c43966941bed8c294172dcbc8f30f.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**
,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**