前端秋招笔试(1)- 58同城

怕你飞远去,怕你离我而去。更怕你永远停留在这里。

 编程题

1. 找出数组中第K个最大数

输入:3,2,3,1,2,4,5,5,6  4

输出:4

import java.util.Scanner;
// 选择问题-找出N个数中第K个最大值
public class Nok {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        String inputString = sc.nextLine();
        String stringArray[] = inputString.split(" ");
        String array[] = stringArray[0].split(",");
        int num[] = new int[array.length];
        for (int i = 0; i < array.length; i++) {
              num[i] = Integer.parseInt(array[i]);
        }
        int k = Integer.parseInt(stringArray[1]);
        int res = FindTheKLargestNumber(num,k);
		System.out.println(res);
		
	}
	//冒泡排序
    static void BubbleSort(int[] arr){
        int t = 0;
        for (int i = 0; i < arr.length - 1; i++){
            boolean flag = false;
            for (int j = 0; j < arr.length - i - 1; j++){
                if (arr[j] < arr[j + 1]){
                    t = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = t;
                    flag = true;
                }
            }
            if (flag == false){
                break;
            }
        }
    }
  //找出N个数中第K大的数
    static int FindTheKLargestNumber(int[] original,int k){
        int[] temp = new int[k];
        for (int i = 0; i < k; i++){
            temp[i] = original[i];
        }
        BubbleSort(temp);
        for (int i = k ; i < original.length; i++){
            if (temp[k-1] < original[i]){
                temp[k - 1] = original[i];
                BubbleSort(temp);
            }
        }
        return temp[k - 1];
    }
}

2. 时间戳转化为日期格式

输入:1594028943000

输出:2020-06-26:13:49:01

//var str = readline();
    var str = 1514024943000
    // print(timestampToTime(str));
    alert(this.timestampToTime(1514024943000));
    function timestampToTime(timestamp) {
        var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var Y = date.getFullYear() + '-';
        var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
        var D = (date.getDate() + 1 < 10 ? '0' + (date.getDate() + 1) : date.getDate() + 1) + ':';
        var h = (date.getHours() + 1 < 10 ? '0' + (date.getHours() + 1) : date.getHours() + 1) + ':';
        var m = (date.getMinutes() + 1 < 10 ? '0' + (date.getMinutes() + 1) : date.getMinutes() + 1) + ':';
        var s = (date.getSeconds() + 1 < 10 ? '0' + (date.getSeconds() + 1) : date.getSeconds() + 1);
        return Y + M + D + h + m + s;
    }
    console.log(timestampToTime(1514024943000));//2014-06-18:10:33:24

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白Rachel

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

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

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

打赏作者

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

抵扣说明:

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

余额充值