既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
二维数组中的查找
题目及要求
对应题解
正解:
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
for(vector<vector<int>>::iterator T=array.begin();T!=array.end();T++){
for(vector<int>::iterator t=(\*T).begin();t!=(\*T).end();t++){
if(\*t==target)
return true;
}
}
return false;
}
};
分析:
这个题考察二维数组的
遍历
,不过是题目给的是容器嵌套
的形式,那就要靠你对容器迭代知识的理解了。外层for循环使用迭代器T
,内层使用迭代器t
,前面文章提到迭代器相当于指针,那么*T
就是内层的t,也就是T指向t的地址。通过解引用
就可以得到对应的值,同理,*t
就代表容器内的元素值。
替换空格
题目及要求
对应题解
正解:
class Solution {
public:
/\*\*
\* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
\*
\* @param s string字符串
\* @return string字符串
\*/
string replaceSpace(string s) {
// write code here
string res="";
for(int i=0;i<s.length();i++){
if(s[i]!=' ')
res +=s[i];
else
res +="%20";
}
return res;
}
};
分析:
我的思路是定义一个空字符串,然后对需要替换的字符串
遍历
,如果不是空格,把该字符加到空字符串上,如果是空格,那就用%20
代替,最后返回定义的字符串即可。
从尾到头打印链表
题目及要求
对应题解
正解:
/\*\*
\* struct ListNode {
\* int val;
\* struct ListNode \*next;
\* ListNode(int x) :
\* val(x), next(NULL) {
\* }
\* };
\*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode\* head) {
vector<int>v;
while(head){
v.push\_back(head->val);
head=head->next;
}
reverse(v.begin(),v.end());
return v;
}
};
分析:
这题的目的也很明确:
翻转链表
。先定义一个容器,将链表中结点的值依次插入容器,然后调用reverse
函数从头到尾翻转链表并返回即可。
📃结语
我个人非常喜欢先学习知识后刷题巩固的学习方式,但是这样做最重要的便是坚持。还有既然要刷算法题,那就C++一条路走完,坚持用C++解决算法题!牛客网的题目非常经典且友好,建议大家学习知识后去牛客网对应的领域去刷题练习,获得成就感与充实感,加油!!!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新