AZ
Size: a a a
AZ
p
p
KR
AZ
AZ
AZ
pub fn find_kth_positive(arr: Vec<i32>, k: i32) -> i32 {
fn find_kth_positive(arr: &[i32], k: i32) -> i32 {
let mut range = 0..arr.len();
while range.end != range.start {
let mid = (range.end + range.start)/2;
let value = arr[mid];
match mid.cmp(&((value + k) as usize)) {
Ordering::Less => {
range = mid..arr.len();
},
Ordering::Equal => {
return value;
},
Ordering::Greater => {
range = 0..mid;
},
}
}
k
}
find_kth_positive(&arr, k)
}
p
pub fn find_kth_positive(arr: Vec<i32>, k: i32) -> i32 {
fn find_kth_positive(arr: &[i32], k: i32) -> i32 {
let mut range = 0..arr.len();
while range.end != range.start {
let mid = (range.end + range.start)/2;
let value = arr[mid];
match mid.cmp(&((value + k) as usize)) {
Ordering::Less => {
range = mid..arr.len();
},
Ordering::Equal => {
return value;
},
Ordering::Greater => {
range = 0..mid;
},
}
}
k
}
find_kth_positive(&arr, k)
}
AZ
Т8
Т8
AZ
impl Solution {
pub fn find_kth_positive(arr: Vec<i32>, k: i32) -> i32 {
let mut counter = 0;
let mut position = 0;
for i in 1.. {
if *arr.get(position).unwrap_or(&-1) == i {
position += 1;
} else {
counter += 1;
if counter == k {
return i;
}
}
}
-1
}
}
Т8
Т8
AZ
p
impl Solution {
pub fn find_kth_positive(arr: Vec<i32>, k: i32) -> i32 {
let mut counter = 0;
let mut position = 0;
for i in 1.. {
if *arr.get(position).unwrap_or(&-1) == i {
position += 1;
} else {
counter += 1;
if counter == k {
return i;
}
}
}
-1
}
}
impl Solution {
pub fn find_kth_positive(arr: Vec<i32>, k: i32) -> i32 {
let mut i = 0;
for n in 1_i32.. {
if !arr.contains(&n) {
i += 1;
if i == k {
return n;
}
}
}
unreachable!()
}
}
ну
почти тоже самоеТ8
Т8
DS
DS