日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 1229. 安排会议日程(双指针)

發布時間:2024/7/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 1229. 安排会议日程(双指针) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. 題目
    • 2. 解題

1. 題目

你是一名行政助理,手里有兩位客戶的空閑時間表:slots1 和 slots2,以及會議的預計持續時間 duration,請你為他們安排合適的會議時間。

「會議時間」是兩位客戶都有空參加,并且持續時間能夠滿足預計時間 duration 的 最早的時間間隔。

如果沒有滿足要求的會議時間,就請返回一個 空數組。

「空閑時間」的格式是 [start, end],由開始時間 start 和結束時間 end 組成,表示從 start 開始,到 end 結束。

題目保證數據有效:同一個人的空閑時間不會出現交疊的情況,也就是說,對于同一個人的兩個空閑時間 [start1, end1] 和 [start2, end2],要么 start1 > end2,要么 start2 > end1。

示例 1: 輸入:slots1 = [[10,50],[60,120],[140,210]], slots2 = [[0,15],[60,70]], duration = 8 輸出:[60,68]示例 2: 輸入:slots1 = [[10,50],[60,120],[140,210]], slots2 = [[0,15],[60,70]], duration = 12 輸出:[]提示: 1 <= slots1.length, slots2.length <= 10^4 slots1[i].length, slots2[i].length == 2 slots1[i][0] < slots1[i][1] slots2[i][0] < slots2[i][1] 0 <= slots1[i][j], slots2[i][j] <= 10^9 1 <= duration <= 10^6

來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/meeting-scheduler
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

2. 解題

  • 先對兩個人的時間進行排序
  • 然后雙指針遍歷檢查即可
class Solution { public:vector<int> minAvailableDuration(vector<vector<int>>& slots1, vector<vector<int>>& slots2, int duration) {int m = slots1.size(), n = slots2.size(), i = 0, j = 0;int l, r;sort(slots1.begin(), slots1.end());sort(slots2.begin(), slots2.end());while(i < m && j < n){if(slots1[i][1] <= slots2[j][0])//1的時間小了i++;else if(slots1[i][0] >= slots2[j][1])//2的時間小了j++;else//有交集{l = max(slots1[i][0], slots2[j][0]);r = min(slots1[i][1], slots2[j][1]);if(r-l >= duration)//交集滿足開會需要return {l, l+duration};if(slots1[i][1] >= slots2[j][1])j++;//不滿足,1的時間還有多余,2往后找elsei++;//否則,1往后找}}return {};} };

596 ms 29.6 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的LeetCode 1229. 安排会议日程(双指针)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。