既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
-
由题目可以得知打印的结果取决于n的值且和10的倍数有密切关联:
- 若n为1,打印的最大值为9
- 若n为2,打印的最大值为99
。。。 - 若n为5,打印的最大值为99999
-
所以我们可以定义一个值为1的辅助数字,根据n的值来让辅助数字乘以不同数量的10
-
然后从1到辅助数字进行循环,将结果依次存入一个数组即可
2.2、代码实现
class Solution {
public:
/\*\*
\* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
\*
\*
\* @param n int整型 最大位数
\* @return int整型vector
\*/
vector<int> printNumbers(int n) {
// write code here
vector<int>res;
int flag=1;
for(int i=1;i<=n;i++)
flag\*=10;
for(int i=1;i<flag;i++)
res.push\_back(i);
return res;
}
};
2.3、代码解析
- 创建动态数组
res
,这是最终用来返回的整数列表 flag
是辅助数字,利用for循环来确定辅助数字的最终值- 从1开始到辅助数字结束,在for循环里将递增的数字存入数组中
- 最终返回
res
,算法结束
二、 调整数组顺序使奇数位于偶数前面(一)
1、题目速览
2、个人题解
2.1、解题思路
注意题目要求:奇数之间与偶数之间的相对位置不变,那么我的解题思路是:
- 新创建两个
vector
容器,对原数组里的元素值判断:- 若对2取余为零,证明是偶数,存入偶数容器里
- 若对2取余不为零,则存入奇数容器里
- 由于要求所有奇数在前,那就利用for循环将偶数容器里的元素全部尾插到奇数容器内
- 最终的奇数容器就是最终排序的结果
2.2、代码实现
class Solution {
public:
/\*\*
\* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
\*
\*
\* @param array int整型vector
\* @return int整型vector
\*/
vector<int> reOrderArray(vector<int>& array) {
// write code here
if(array.size()==0||array.size()==1)
return array;
vector<int>os;
vector<int>js;
for(int i=0;i<array.size();i++){
if(array[i]%2==0)
os.push\_back(array[i]);
else
js.push\_back(array[i]);
}
for(int i=0;i<os.size();i++){
js.push\_back(os[i]);
}
return js;
}
};
2.3、代码解析
- 由于题目中原数组里元素个数可能为0或1,而且这种情况不需要排序,直接返回即可
os
和js
分别代表偶数和奇数容器- 对元素组中元素值判断,并插入到不同的容器中
- 最后将偶数容器内的元素插入到奇数容器内并返回即可
三、 调整数组顺序使奇数位于偶数前面(二)
1、题目速览
2、个人题解
2.1、解题思路
这一题不要求奇数间或者偶数间的位置了,因此可以采取元素交换的方法:
- 由于是奇数在前,那就直奔第一个偶数而去
- 在第一个偶数后找到第一个奇数并进行元素交换
- 继续向后遍历,重复以上操作即可
- 注意遍历越界的情况,在代码解析部分会有表示
2.2、代码实现
class Solution {
public:
/\*\*
\* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
\*
\*
\* @param array int整型vector
\* @return int整型vector
\*/
vector<int> reOrderArrayTwo(vector<int>& array) {
// write code here
int i=0;
while(i<array.size()){
if(array[i]%2==0){
![img](https://img-blog.csdnimg.cn/img_convert/e95ce490e56bb8e48b5d8013c7165eec.png)
![img](https://img-blog.csdnimg.cn/img_convert/a172b9024a67396a7ffda1561760778e.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**