周记十四--连呼吸都是春天的味道

博主分享了为蓝桥杯比赛准备的算法学习心得,包括两数之和、删除有序数组中的重复项和移除元素三道题目。通过双循环解决两数之和问题,利用迭代法去除数组重复项,以及类似方法处理移除元素问题。这些算法对提升编程面试和工作中解决问题的能力至关重要。
摘要由CSDN通过智能技术生成

上周学习内容

马上蓝桥杯就要开始了,算法是让每一个码农都会头疼的项目,俗话说的好,算法熬发,我算是真的理解了,一道算法题可以看一个小时还是写不出,让人绝望,但无论如何还是要写的,因为现在的互联网行业已经不像从前了,现在竞争也越开越大了,而算法也对未来的面试以及工作中的开发起着重要的作用,所有还是要继续死磕算法,短期是为了在蓝桥杯比赛中取得好的成绩吧,下面是我对最近练的基础算法的一些记录吧!

1. 两数之和

这道题大概就是通过两个for循环遍历出数组中符合情况的两个数,当当找不到符合的情况的时候就返回res的默认值[];大概就是这样子吧,这道题也不是很难,接下来用代码实现一下吧.

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] res=new int[2];
        for(int i=0;i<nums.length;i++){
            for(int j=i+1;j<nums.length;j++){
                if(nums[i]+nums[j]==target){
                    res[0]=i;
                    res[1]=j;
                    break;
                }
            }
        }    
        return res;
    }
}

26. 删除有序数组中的重复项

这道题我的理解是遍历数组中的元素,依次对照,通过if进行判断,如果相等的话就不会进入里面,进行操作,如果不相等的话就可以进入里面进行操作,把数组重新赋值到新数组里面,这样子就可以起到删除重复项的作用.觉得方法很巧妙.具有看代码吧

class Solution {
    public int removeDuplicates(int[] nums) {
        int index=0;
        for(int i=0;i<nums.length;i++){
            if(nums[i]!=nums[index]){
                nums[index+1]=nums[i];
                index++;
            }
        }
        return index+1;
    }
}

27. 移除元素

这道题说实话和上面的题简直不要一模一样,思路基本上一致,只不过是换个说法,结合上面的题,一起看看思路也许更加清晰,印象也会更深刻

class Solution {
    public int removeElement(int[] nums, int val) {
        if(nums==null||nums.length==0){
            return 0;
        }
        int j=0;
        for(int i=0;i<nums.length;i++){
            if(nums[i]!=val){
                nums[j]=nums[i];
                j++;


            }
        }
        return j;

    }
}

继续学算法吧,算法确实是很难,还是要练呀,马上就要考试了,还有一个星期,考前的时间很宝贵,认真学习吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林寻星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值