class Solution {
public int[] nextGreaterElement(int[] nums1, int[] nums2) {
int []ret = new int[nums1.length];
int index=0;
while(index< nums1.length) {
for (int i = 0; i < nums2.length; i++) {
if (nums1[index] == nums2[i]) {
while(i<nums2.length){
if(nums2[i++]>nums1[index]){
ret[index]=nums2[i-1];
break;
}
}
}
}
index++;
}
for(int i=0;i< ret.length;i++){
if(ret[i]==0){
ret[i]=-1;
}
}
return ret;
}
}
算法学习
资料推荐其实博主之前接触过一段时间的算法,但是自己有一些太心急了,基本都是一天学会一个数据结构或算法,后面也没有系统地进行复习,而是转身去学了Java,导致现在都快忘的差不多了。所以在重新学习的过程中,要多思考,放慢节奏,再辅助着题进行训练。
这里主要分为两个阶段:
第一个阶段应该掌握各种数据结构和算法的写法,思路。偶尔刷一些题。(1个月)
第二个阶段应该注重刷题,更好地巩固所学知识。(1个月)
个人感觉书籍都相对枯燥乏味,所以看视频对我来说是一种不错的选择。视频无法补充的知识点,可以通过查阅各种资料来补充。
- 尚硅谷 Java 数据结构与算法:https://www.bilibili.com/video/BV1E4411H73v
- 刷题必备的网站:LeetCode,算法讲解LeetBook。
- B站也有很多算法的讲解,就靠小伙伴们自己去发现啦~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)