当前位置:   article > 正文

小红书2024秋招测试算法题第一场_小红书笔试算法

小红书笔试算法

第一题给出7个24小时制的时间区间,计算用的分钟数;

package saima;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import  java.util.*;
//小红书测试笔试题1
public class totaltime {

    public static void main(String args[]) throws ParseException {
        Scanner cin = new Scanner(System.in);
        int[] mins = new int[14];
        int[] hours = new int[14];
        for(int i=0; i<14; i++){
            String time = cin.nextLine();
            String[] arrtime = time.split(":");
            hours[i] = Integer.parseInt(arrtime[0]);
            mins[i] = Integer.parseInt(arrtime[1]);
        }
        int ans =0;
        for (int i =0;i<=6;i++){
            if(hours[2*i]==hours[2*i+1]) ans = ans+(mins[2*i+1]-mins[2*i]);
            //hours[i]<hours[i+1]
            else{
                ans = ans +( (hours[2*i+1]-hours[2*i])*60 + (mins[2*i+1]-mins[2*i]));
//                System.out.println(ans);
            }
        }
        System.out.println(ans);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

第二题给出一个字符串,统计频次至少为3的字符串;

package saima;
import java.util.*;
//小红书测试笔试2——词频
public class recommend {
    public static void main(String arg[]) {
        Scanner in = new Scanner(System.in);
        String words = in.nextLine();
        String[] arrwords = words.split(" ");
        HashMap<String, Integer> hash = new HashMap<String, Integer>();

        HashMap<String, Integer> hashans = new HashMap<String, Integer>();
        for(int i =0; i<arrwords.length;i++){
            if(hash.containsKey(arrwords[i])){
                int value = hash.get(arrwords[i]);
                value= value+1;
                hash.put(arrwords[i],value);
                if(hash.get(arrwords[i])>=3){
                    hashans.put(arrwords[i],hash.get(arrwords[i]));
                }

            }
            else{
                hash.put(arrwords[i],1);
            }
        }
        //对hashans排序
        List<Map.Entry<String,Integer>> listsort = new ArrayList<>(hashans.entrySet());
        //重写比较器
        listsort.sort((a,b)->{
            if(a.getValue().equals(b.getValue())) return a.getKey().compareTo(b.getKey());
            return b.getValue().compareTo(a.getValue());
        });

        for(Map.Entry entry:listsort){
            System.out.println(entry.getKey());
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

第三题给出总的时间,精力值,每个事件的所需时间,精力值,以及收获的开心值,计算能收获的最多的开心值;

package saima;

import java.sql.SQLOutput;
import java.util.Scanner;
//小红书测试笔试3
public class happyValues {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int n= cin.nextInt();
        int T = Integer.parseInt(cin.next());
        int H =Integer.parseInt( cin.next());
//        System.out.println(T);
        int[] arrT = new int[n];//时间
        int[] arrH = new int[n];//精力
        int[] arra = new int[n]; // 快乐值
        for(int i=0;i<n ;i++){
            arrT[i]= Integer.parseInt(cin.next());
            arrH[i]= Integer.parseInt(cin.next());
            arra[i] = Integer.parseInt(cin.next());
//            System.out.println(arra[i]);
        }
        int[][] dp = new int[T+1][H+1];
        for(int i = 0; i <n; i++){
            for(int j =T; j >= arrT[i]; j--)
                for(int k = H; k >= arrH[i]; k--)
                    dp[j][k] = Math.max(dp[j][k], dp[j-arrT[i]][k-arrH[i]] + arra[i]);
    }
        System.out.println(dp[T][H]);
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/575587
推荐阅读
相关标签
  

闽ICP备14008679号