757. 设置交集大小至少为2
This commit is contained in:
parent
30e2df43c4
commit
67d79e3553
15
src/main.rs
15
src/main.rs
|
|
@ -1,15 +1,15 @@
|
||||||
mod arr;
|
mod arr;
|
||||||
struct Solution;
|
struct Solution;
|
||||||
impl Solution {
|
impl Solution {
|
||||||
pub fn find_minimum_time(tasks: Vec<Vec<i32>>) -> i32 {
|
pub fn intersection_size_two(intervals: Vec<Vec<i32>>) -> i32 {
|
||||||
let mut tasks = tasks;
|
let mut tasks = intervals;
|
||||||
tasks.sort_by_key(|task| task[1]);
|
tasks.sort_by_key(|task| task[1]);
|
||||||
let mut stack:Vec<Vec<i32>> = Vec::new();
|
let mut stack:Vec<Vec<i32>> = Vec::new();
|
||||||
stack.push(vec![-2,-2,0]);
|
stack.push(vec![-2,-2,0]);
|
||||||
for task in tasks.iter() {
|
for task in tasks.iter() {
|
||||||
let start = task[0];
|
let start = task[0];
|
||||||
let end = task[1];
|
let end = task[1];
|
||||||
let mut d = task[2];
|
let mut d = 2;
|
||||||
let pos = stack.partition_point(|x| x[0] < start) - 1;
|
let pos = stack.partition_point(|x| x[0] < start) - 1;
|
||||||
d -= stack[stack.len() - 1][2] - stack[pos][2];
|
d -= stack[stack.len() - 1][2] - stack[pos][2];
|
||||||
if start <= stack[pos][1] {
|
if start <= stack[pos][1] {
|
||||||
|
|
@ -27,13 +27,8 @@ impl Solution {
|
||||||
stack[stack.len() - 1][2]
|
stack[stack.len() - 1][2]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
思路来自:
|
|
||||||
只是一定程度上理解了思路 但是没有学会这个思路
|
|
||||||
作者:灵茶山艾府
|
|
||||||
链接:https://leetcode.cn/problems/minimum-time-to-complete-all-tasks/solutions/2163130/tan-xin-pythonjavacgo-by-endlesscheng-w3k3/
|
|
||||||
*/
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let result = Solution::find_minimum_time(arr::make_matrix("[[1,3,2],[2,5,3],[5,6,2]]"));
|
let result = Solution::intersection_size_two(arr::make_matrix("[[1,3],[3,7],[8,9]]"));
|
||||||
println!("{:?}", result);
|
println!("{:?}", result);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue