首页 > 编程语言 > 详细

字节场景算法(Java实现)

时间:2019-08-13 00:36:11      阅读:145      评论:0      收藏:0      [点我收藏+]

<一>小明上学:

1.题目描述:小明总是睡过头,所以他定了很多用钟,只有在闹钟响的时候他才会醒过来并且决定起不起床从他起床算起他需要X分钟到达教室,上课时间为当天的A时B分,请问他最晚可以什么时间起床?

输入描述:
  每个输入包含一个测试用例
  每个测试用例的第一行包含一个正整数,表示闹钟的数量N(N<=100)
  接下来的N行每行包含两个整数,表示这个闹钟响起的时间为H1(0<=A<24)时Mi(0<=B<60)分
  接下来的-行包含一个整数, 表示从起床算起他需要X(0<=X<=100)分钟到达教室
 

  接下来的一行包含两个整数,表示上课时间为A(0<-A<24)时B(0<=B<60)分
  数据保证至少有一个闹钟可以让牛牛及时到达教室

输出描述:
  输出两个整数表示牛牛最晚起床时间

样例输入:

3

5 0
6 0

7 0

59

6 59

样例输出:

6 0

代码如下:

 

package com.ymm.core.zijie;

import java.util.Scanner;

public class Main2 {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            int N = in.nextInt();  //闹钟的数目
            
            int[][] arr = new int[N][]; //闹钟响起的时间
            for(int i = 0;i < N;i++) {
            	arr[i][0] = in.nextInt();
            	arr[i][1] = in.nextInt();
            	
            }
            int X = in.nextInt();   //起床到达教室
            
            int hour = in.nextInt();
            int minHour = in.nextInt();
 
            int maxIndex = -1;
            for(int i = 0;i < N;i++) {
            	int temp = arr[i][1] + X;
            	int t = arr[i][0] + (int)(temp / 60);
            	int n = temp % 60;
            	
            	if(t < hour || (t == hour && n <= minHour)) {
            		if(maxIndex == -1) {
            			maxIndex = i;
            		}else if(arr[maxIndex][0] < arr[i][0] 
            				|| (arr[maxIndex][0] == arr[i][0] 
            						&& arr[maxIndex][0] < arr[i][0])){
            			maxIndex = i;
            		}
            	
            	}
            }
            if(maxIndex == -1) {
        		maxIndex = 0;
        	}
            
           System.out.println(arr[maxIndex][0] + " " +arr[maxIndex][1]);
        }
            
	}
}

 

<二>秘密通信

1.题目描述:小明和安琪是好朋友。最近,他们的谈话波家侦探机构监控,所以他们想将他们的谈话内容进行加密处理。于是,他们发明了一种新的加密方式。 每条信息都被编译成二进制数B(明文),其长度为N。然后该信息被写下K次,每次向右移动0,1.. K-1位。例如: B=1001010, K=4

1001010

1001010

1001010

然后对每列进行异或操作,并且把最终所得的结果记录下来,我们将该数称为S(密文)。例如上述例子的结果为:1110100110
最后,将编码的信息S和K发送给安琪。
小明已经实现了这种编码的加密过程,但他要求安琪写一个程序去实现这种编码的解密过程,你能帮助安琪实现解密过程吗?

输入描述:
第一行输入两个整数N和K
第二行输入一个二进制字符串s,长度是N+K-1

输出描述:
输出明文B

例1:
  输入:

    7 4

    1110100110

  输出:

    1001010

例2:

  输入:

    6 2

    1110001

  输出:

    101111

代码如下:

有点小问题,稍后完善1!

 

字节场景算法(Java实现)

原文:https://www.cnblogs.com/youdiaodaxue16/p/11343374.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!