VVVV 。 2019-10-06 17:50 采纳率: 0%
浏览 261

一道JAVA算法的小题目。

判断一天之中所有会议的时间是否会发生冲突。为了简单和方便对比,用一个双元素数组代表日程,例:[1230, 1400] 代表时间从12:30到14:00,[800,835] 代表08:00到08:35。
输入为一个装载所有的日程的数组,返回结果为日程中的时间是否有冲突,有为true,否为false。

例:
1.
input: [[900, 1000], [1100, 1200], [1000, 1020], [1300, 1400], [1030, 1130]]
output: true
2.
input: [[1000, 1030], [1100, 1200], [1330, 1500]]

output: false

public boolean checkConfliect(int[][] input) {
//在此补充
}

这是我写的代码,有哪里不对吗
public boolean checkConfliect(int[][] input) {
boolean flag = false;

for (int i = 0; i < input.length - 1; i++) {
if(input[i][1] >= input[i+1][0]){
flag = true;
}
}
return flag;
}

如果不对的话,望大家指正,也希望大家贴出自己的代码

  • 写回答

2条回答 默认 最新

  • first... 2019-10-06 19:31
    关注

    思路不对
    首先,在拿到 [[900, 1000], [1100, 1200], [1000, 1020], [1300, 1400], [1030, 1130]] 这组数据时,你不能保证开始时间是有序的,所以不能直接拿第i个的结束时间和第i+1个的开始时间比较。
    你需要排序,将开始时间进行排序:[[**900**, 1000], [**1000**, 1020], [**1030**, 1130], [**1100**, 1200], [**1300**, 1400]]。
    最后,你要判断开始时间是否有相等的情况,如果没有再将第i个的结束时间和第i+1个的开始时间比较。

    评论

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝