Java力扣刷题:冲击蓝桥杯

系列文章目录

一、力扣刷题第一日

目录

系列文章目录

前言

一、力扣1108号题(1084分)

二、力扣1480题(1104分)

三、力扣1394题(1118分)


前言

大家可以参考这个网址:rating

(根据自己水平练习相应分数的题,简单了就提高分数,难了就降低分数,每日最少一题,早日成为算法带师)


一、力扣1108号题(1084分)

1108. IP 地址无效化 - 力扣(LeetCode)

class Solution {
    public String defangIPaddr(String address) {
        return address.replace(".","[.]");
    }
}

题解:这题是个简单题,只需要通过简单的字符替换,使用java库中的replace函数,可以把后面的字符替换到前面的字符上。

例如:

        String a="hello world";
        String b="nihao";
        a=a.replace(a,b);
        //用b中的内容来替换a中的内容
        System.out.println(a);
        System.out.println(b);

Java力扣刷题:冲击蓝桥杯_第1张图片

也可单字符替换:

        String a="hello world";
        String b="nihao";
        a=a.replace("hello",b);
        //用b中的内容来替换a中的内容
        System.out.println(a);
        System.out.println(b);

 Java力扣刷题:冲击蓝桥杯_第2张图片


二、力扣1480题(1104分)

1480. 一维数组的动态和 - 力扣(LeetCode)

class Solution {
    public int[] runningSum(int[] nums) {
        int sum=0;
        for(int i=0;i

题解:这题主要考察对java数组的理解和求java数组长度length,定义一个sum记录数组每个下标的元素,再通过sum+=nums[i],就可以对每个下标的数进行叠加,再赋值到i下标的数组里面,就可以完成交换。sum第一次是0,把nums[0]赋值给sum变成1,nums[0]=sum就变成了1,把nums[1]就是2与sum相加,就是1+2,nums[1]就从2变成了sum(3),以此类推。


三、力扣1394题(1118分)

1394. 找出数组中的幸运数 - 力扣(LeetCode)

class Solution {
    public int findLucky(int[] arr) {
        int[] x=new int[501];
        for(int i=0;i=1;j--)
        {
            if(j==x[j])
            {
                return j;
            }
        }
        return -1;
    }
}

题解:定义一个数组x,题目中规定长度为500,通过循环遍历arr中的数,通过x中++的代码解释可以得到数组x,在从上往下遍历,可以优先找到最大的那个返回,j必须>=1,如果j=0时他就会在没有幸运数字时返回0而不是-1,x.length-1是因为他不能取到arr.length的数,所以需要-1,如果没有幸运数字,在循环中就不会返回,则在最后返回-1.

本体主要采取了下标相同数的计数器模式,用下标来存相对数的数量,是个好方法。

你可能感兴趣的:(java,leetcode,算法,职场和发展)