程序员成长之路(Day 23)

目录

学习内容:

LintCode刷题:

·求数组最大值

 ·打印梅兰竹菊代表的品性

 · 逆序输出字符串

·判断一个整数是否为水仙花数

·分区数组

 学习时间:

学习产出:


学习内容:

LintCode刷题:

·求数组最大值

        sort排列后取最后一个即可

import java.util.Arrays;

public class Solution {
    public int getMax(int[] array) {
       Arrays.sort(array);
       return array[array.length-1];
    }
}

 ·打印梅兰竹菊代表的品性

         直接调用方法即可

public class Solution {
    public void printCharacter(PropertyEnum s) {
        switch (s) {
            case PlumBlossoms:
                System.out.println(
                        "PlumBlossoms: A noble man who explores the waves and the snow");
                break;

            case Orchid:
                System.out.println(
                        "Orchid: A sage of the world, the fragrance of the deep valley");
                break;

            case Bamboo:
                System.out.println("Bamboo: A gentleman of modesty and elegance");
                break;

            case Chrysanthemum:
                System.out.println("Chrysanthemum: A hermit of the world");
                break;
        }
    }

    public void textCharacter() {
        printCharacter(PropertyEnum.PlumBlossoms);
        printCharacter(PropertyEnum.Orchid);
        printCharacter(PropertyEnum.Bamboo);
        printCharacter(PropertyEnum.Chrysanthemum);
    }
}

 · 逆序输出字符串

         先把字符串转换成为char数组,然后调换顺序

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
       Scanner scanner=new Scanner(System.in);
       String str=scanner.next();
       char[] chars=str.toCharArray();
       for (int i =0;i<chars.length;i++){
           chars[i]=str.charAt(chars.length-i-1);
       }
        System.out.println(String.valueOf(chars));
    }
}

        可以转换成StringBuffer,再使用StringBuffer的反转方法达到题目效果

        Scanner scanner=new Scanner(System.in);
        String str=scanner.next();
        StringBuffer stringBuffer=new StringBuffer(str);
        stringBuffer=stringBuffer.reverse();
        System.out.println(stringBuffer);

·判断一个整数是否为水仙花数

 

        再类里面写私有类可以直接调用类的私有变量,十位数字可以使用(num/10)%10来获取

public class Solution {
    private int num;
    public Solution(int num) {
        this.num = num;
    }

    public boolean testDaffodils() {
        Daffodils daffodils = new Daffodils();
        boolean boolean2 = daffodils.isDaffodilNumber();

        return boolean2;
    }

    private class Daffodils {

        private boolean isDaffodilNumber(){
            if (num<100||num>999)
                return false;
            else{
                int a=num%10;
                int b=num/10%10;
                int c=num/100;
                return num==a*a*a+b*b*b+c*c*c;
            }
        }
    }
}

·分区数组

        首先判断 数组是否为空和数组长度能否被n整除,不符合条件的全部都返回false,然后只需要判断相同元素长度是否大于n即可。

map->延伸(缺)

map.putIfAbsent():放入位置有值时不会改变原有值

map.put:直接放入如果原来有值直接替换

import java.util.HashMap;

public class Solution {
    public boolean PartitioningArray(int[] A, int k) {
        if (A.length==0)
            return true;
        if (A.length%k!=0)
            return false;
        HashMap<Integer,Integer>map=new HashMap<Integer, Integer>();
        int maxCount=0;
        for (int i =0;i<A.length;i++){
            map.putIfAbsent(A[i],0);
            map.put(A[i],map.get(A[i])+1);
            maxCount=Math.max(map.get(A[i]),maxCount);
        }
        return maxCount<=k;
    }
}

 学习时间:

2021-8-31 9:00-11:45、13:30-17:30 


学习产出:

学习博客*1

刷题*5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值