网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 这两道题非常相似,可以结合着作为错题笔记。
- 3.leetcode.1920–基于排列构建数组
int *buildArry(int *nums,int numsSize,int *returnSize)
{
int *ans=(int *)malloc(sizeof(int)* numsSize);//老规矩,动态分配内存空间,数组长度为numsSize,首地址为ans.
int i=0;
for(i=0;i<numsSize;i++)
{
ans[i]=nums[nums[i]];//按题目要求带进去就行
}
*returnSize=numsSize;//依旧是用参数实现将数组长度告诉调用者
return ans;
}
以上三道题真不愧是英雄哥总结出的零基础打卡指南,在写熟练后总结注意事项,类比推理即可,加油!
- 4.leetcode.1480–一维数组的动态和
int *jiejie( int *nums,int numsSize,int * returnSize)
{
int *jie=(int *)malloc(sizeof(int)*numsSize);
int i;
for(i=0;i<numsSize;i++)
{
jie[i]=nums[i];//先给第一个元素搞上相同的值
if(i!=0)//从第二个元素开始,每一个元素都是前一个元素和nums数组中该位置的元素的和
{
jie[i]=jie[i-1]+nums[i];
}
*returnSize=numsSize;
return jie;
}
5.leetcode.剑指offer58–左旋转字符串
这道题看着可能很简单,但是在写的时候对数组元素的赋值规律总把握不清晰,考验思维能力,建议在演草纸上推一推找找规律,这里我们来看一下题解
char* reverseLeftWords(char* s, int k){
int i;
int n = strlen(s);
char *ret = (char *)malloc( (n + 1) * sizeof(char) ); //题解上注明在申请字符串时要多申请一个,因为要用来存放结尾标记\0.
for(i = 0; i < n; ++i) {
ret[i] = s[(i + k) % n];//这一步是本题目的核心规律,我们在写的时候总会思考要在什么时候开始接上之前的字符,当i+我们设定的位置k%字符串的长度n正好为1的时候,会接上k之前的元素,作为笔记整理一下。
}
ret[n] = '\0';
return ret;
}
总结:英雄哥推出的打卡活动非常适合只有一门语言基础的萌新去练习和将不会的进行总结,先水简单题,养成习惯,错题多翻看,也不失明智。
今天是九国列车打卡第五天,指针。不管再忙,明天也要水题和总结不会的题解哦!
天道酬勤,勤能补拙,加油,萌新们!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
825)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!