【LeetCode】496、下一个更大元素 I(附算法学习指南)

496、下一个更大元素 I

【LeetCode】496、下一个更大元素 I(附算法学习指南)_第1张图片

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站也有很多算法的讲解,就靠小伙伴们自己去发现啦~

你可能感兴趣的:(#,数据结构与算法,算法,leetcode)