1
Fork 0

Fix Clippy issues.

This commit is contained in:
Bauke 2022-09-25 11:12:58 +02:00
parent a688ae2cd8
commit 75b206bb24
Signed by: Bauke
GPG Key ID: C1C0F29952BCF558
3 changed files with 15 additions and 10 deletions

View File

@ -1,16 +1,21 @@
pub fn first_missing_positive(mut numbers: Vec<i32>) -> i32 {
pub fn first_missing_positive(numbers: Vec<i32>) -> i32 {
let numbers_length = numbers.len();
// Mark all numbers below 1 and above the maximum range as i32::MAX.
for index in 0..numbers_length {
if numbers[index] < 1 || numbers[index] > numbers_length as i32 {
numbers[index] = i32::MAX;
}
let mut numbers = numbers
.into_iter()
.map(|number| {
if number < 1 || number > numbers_length as i32 {
i32::MAX
} else {
number
}
})
.collect::<Vec<_>>();
for index in 0..numbers_length {
// For each index get its number and subtract 1.
let index = numbers[index].abs() as usize - 1;
let index = numbers[index].unsigned_abs() as usize - 1;
// If that index then isn't i32::MAX - 1 (ie. negative or above range).
if index as i32 != i32::MAX - 1 {
@ -32,5 +37,5 @@ pub fn first_missing_positive(mut numbers: Vec<i32>) -> i32 {
None
}
})
.unwrap_or_else(|| numbers_length + 1) as i32
.unwrap_or(numbers_length + 1) as i32
}

View File

@ -5,7 +5,7 @@ pub fn is_number(string: String) -> bool {
return false;
}
let mut parts = string.split("e");
let mut parts = string.split('e');
let valid_significand = match parts.next() {
Some(part) => part.parse::<f64>().is_ok(),

View File

@ -5,7 +5,7 @@ pub fn word_pattern(pattern: String, string: String) -> bool {
let mut pattern_iter = pattern.chars();
let mut string_iter = string.split_whitespace();
if pattern.len() != string_iter.clone().collect::<Vec<_>>().len() {
if pattern.len() != string_iter.clone().count() {
return false;
}