Skip to content

Commit 991c70c

Browse files
committed
Fix Clippy warnings
1 parent 1c257ba commit 991c70c

File tree

67 files changed

+96
-84
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+96
-84
lines changed

src/problem_0004_median_of_two_sorted_arrays/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ impl Solution {
4040
nums2.get(other.wrapping_sub(1)).copied().unwrap_or(i32::MIN),
4141
));
4242

43-
(left_max + right_min) / 2.0
43+
f64::midpoint(left_max, right_min)
4444
} else {
4545
right_min
4646
}

src/problem_0069_sqrtx/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ impl Solution {
1111
let mut right = x.min(46340) + 1;
1212

1313
while right - left > 1 {
14-
let middle = (left + right) / 2;
14+
let middle = u32::midpoint(left, right);
1515

1616
match (middle * middle).cmp(&x) {
1717
Ordering::Less => left = middle,

src/problem_0069_sqrtx/newtons_method.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ impl Solution {
1010
let mut guess = x.min(46340);
1111

1212
while guess * guess > x {
13-
guess = (guess + x / guess) / 2;
13+
guess = u32::midpoint(guess, x / guess);
1414
}
1515

1616
guess as _

src/problem_0069_sqrtx/newtons_method_with_f32.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ impl Solution {
1010
let mut guess = f32::from_bits((x as f32).to_bits() / 2 + 0x1FC0_0000) as u32;
1111

1212
if guess * guess > x {
13-
guess = (guess + x / guess) / 2;
13+
guess = u32::midpoint(guess, x / guess);
1414

1515
if guess * guess > x {
16-
guess = (guess + x / guess) / 2;
16+
guess = u32::midpoint(guess, x / guess);
1717

1818
if guess * guess > x {
19-
guess = (guess + x / guess) / 2;
19+
guess = u32::midpoint(guess, x / guess);
2020
}
2121
}
2222
}

src/problem_0069_sqrtx/newtons_method_with_f64.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ impl Solution {
88
let mut guess = f64::from_bits(f64::from(x).to_bits() / 2 + 0x1FF8_0000_0000_0000) as u32;
99

1010
if guess * guess > x {
11-
guess = (guess + x / guess) / 2;
11+
guess = u32::midpoint(guess, x / guess);
1212

1313
if guess * guess > x {
14-
guess = (guess + x / guess) / 2;
14+
guess = u32::midpoint(guess, x / guess);
1515

1616
if guess * guess > x {
17-
guess = (guess + x / guess) / 2;
17+
guess = u32::midpoint(guess, x / guess);
1818
}
1919
}
2020
}

src/problem_0069_sqrtx/smart_newtons_method.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ impl Solution {
88
let mut guess = (1 << ((33 - x.leading_zeros()) / 2)) - 1;
99

1010
while guess * guess > x {
11-
guess = (guess + x / guess) / 2;
11+
guess = u32::midpoint(guess, x / guess);
1212
}
1313

1414
guess as _

src/problem_0069_sqrtx/smarter_newtons_method.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ impl Solution {
88
let mut guess = (1 << ((33 - x.leading_zeros()) / 2)) - 1;
99

1010
if guess * guess > x {
11-
guess = (guess + x / guess) / 2;
11+
guess = u32::midpoint(guess, x / guess);
1212

1313
if guess * guess > x {
14-
guess = (guess + x / guess) / 2;
14+
guess = u32::midpoint(guess, x / guess);
1515

1616
if guess * guess > x {
17-
guess = (guess + x / guess) / 2;
17+
guess = u32::midpoint(guess, x / guess);
1818

1919
if guess * guess > x {
20-
guess = (guess + x / guess) / 2;
20+
guess = u32::midpoint(guess, x / guess);
2121

2222
if guess * guess > x {
23-
guess = (guess + x / guess) / 2;
23+
guess = u32::midpoint(guess, x / guess);
2424
}
2525
}
2626
}

src/problem_0073_set_matrix_zeroes/two_passes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ impl Solution {
1010
(true, true)
1111
} else {
1212
(
13-
first_row_rest_cells.iter().any(|x| *x == 0),
13+
first_row_rest_cells.contains(&0),
1414
rest_rows.iter().any(|row| row[0] == 0),
1515
)
1616
};

src/problem_0073_set_matrix_zeroes/two_passes_2.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ impl Solution {
66
#[expect(clippy::ptr_arg, reason = "required")]
77
pub fn set_zeroes(matrix: &mut Vec<Vec<i32>>) {
88
if let Some((first_row, rest_rows)) = matrix.split_first_mut() {
9-
let first_row_has_zero = first_row.iter().any(|x| *x == 0);
9+
let first_row_has_zero = first_row.contains(&0);
1010

1111
for row in &mut *rest_rows {
1212
let mut iter = row.iter_mut().zip(first_row.iter_mut());

src/problem_0083_remove_duplicates_from_sorted_list/iterative.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ pub struct Solution;
55
// ------------------------------------------------------ snip ------------------------------------------------------ //
66

77
impl Solution {
8+
#[expect(clippy::single_option_map, reason = "required")]
89
pub fn delete_duplicates(head: Option<Box<ListNode>>) -> Option<Box<ListNode>> {
910
head.map(|mut node| {
1011
let mut tail = node.as_mut();

src/problem_0083_remove_duplicates_from_sorted_list/recursive.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ impl Solution {
1717
}
1818
}
1919

20+
#[expect(clippy::single_option_map, reason = "required")]
2021
pub fn delete_duplicates(head: Option<Box<ListNode>>) -> Option<Box<ListNode>> {
2122
head.map(|mut node| {
2223
let next = node.next.take();

src/problem_0135_candy/tail_recursive.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ impl Solution {
1010
}
1111

1212
fn triangular_2(x: i32, y: i32) -> i32 {
13-
(x * (x + 1) + y * (y + 1)) / 2
13+
i32::midpoint(x * (x + 1), y * (y + 1))
1414
}
1515

1616
fn going_down(first: i32, rest: &[i32], up_length: i32, down_length: i32, result: &mut i32) {

src/problem_0235_lowest_common_ancestor_of_a_binary_search_tree/iterative.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use std::mem;
99
use std::rc::Rc;
1010

1111
impl Solution {
12+
#[expect(clippy::single_option_map, reason = "required")]
1213
pub fn lowest_common_ancestor(
1314
root: Option<Rc<RefCell<TreeNode>>>,
1415
p: Option<Rc<RefCell<TreeNode>>>,

src/problem_0235_lowest_common_ancestor_of_a_binary_search_tree/recursive.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ impl Solution {
2020
}
2121
}
2222

23+
#[expect(clippy::single_option_map, reason = "required")]
2324
pub fn lowest_common_ancestor(
2425
root: Option<Rc<RefCell<TreeNode>>>,
2526
p: Option<Rc<RefCell<TreeNode>>>,

src/problem_0236_lowest_common_ancestor_of_a_binary_tree/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ mod tests {
8181

8282
for ((root, p, q), expected) in test_cases {
8383
let root = test_utilities::make_tree(root.iter().copied());
84-
let inverted_root = test_utilities::invert_tree(root.as_deref());
84+
let inverted_root = root.as_deref().map(test_utilities::invert_tree);
8585

8686
for (root, p, q) in [
8787
(root.clone(), p, q),

src/problem_0236_lowest_common_ancestor_of_a_binary_tree/recursive.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ impl Solution {
7878
}
7979
}
8080

81+
#[expect(clippy::single_option_map, reason = "required")]
8182
pub fn lowest_common_ancestor(
8283
root: Option<Rc<RefCell<TreeNode>>>,
8384
p: Option<Rc<RefCell<TreeNode>>>,

src/problem_0367_valid_perfect_square/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ impl Solution {
1010
let mut right = num.min(46340);
1111

1212
while left != right {
13-
let middle = (left + right) / 2;
13+
let middle = i32::midpoint(left, right);
1414

1515
match (middle * middle).cmp(&num) {
1616
Ordering::Less => left = middle + 1,

src/problem_0367_valid_perfect_square/newtons_method.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ impl Solution {
1313
match (x * x).cmp(&num) {
1414
Ordering::Less => return false,
1515
Ordering::Equal => return true,
16-
Ordering::Greater => x = (x + num / x) / 2,
16+
Ordering::Greater => x = u64::midpoint(x, num / x),
1717
}
1818
}
1919
}

src/problem_0410_split_array_largest_sum/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ impl Solution {
3737
let mut right = sum;
3838

3939
while left != right {
40-
let middle = (left + right) / 2;
40+
let middle = i32::midpoint(left, right);
4141

4242
if Self::helper(&nums, m, middle) {
4343
right = middle;

src/problem_0475_heaters/iterative.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ impl Solution {
1616
for (heater, boundary) in heaters
1717
.iter()
1818
.zip(&heaters[1..])
19-
.map(|(&left, &right)| (left, (left + right) / 2))
19+
.map(|(&left, &right)| (left, i32::midpoint(left, right)))
2020
{
2121
while house <= boundary {
2222
result = result.max((house - heater).abs());

src/problem_0480_sliding_window_median/two_binary_heaps.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,10 @@ impl Solution {
7878

7979
if k % 2 == 0 {
8080
Self::helper(window, &nums, |window| {
81-
(f64::from(window.0.peek().unwrap().0) + f64::from(window.1.peek().unwrap().0.0)) / 2.0
81+
f64::midpoint(
82+
f64::from(window.0.peek().unwrap().0),
83+
f64::from(window.1.peek().unwrap().0.0),
84+
)
8285
})
8386
} else {
8487
Self::helper(window, &nums, |window| f64::from(window.1.peek().unwrap().0.0))

src/problem_0480_sliding_window_median/two_sets.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,10 @@ impl Window {
105105

106106
fn get_median(&self) -> f64 {
107107
if self.left.len() == self.right.len() {
108-
(f64::from(self.left.last().unwrap()) + f64::from(self.right.first().unwrap())) / 2.0
108+
f64::midpoint(
109+
f64::from(self.left.last().unwrap()),
110+
f64::from(self.right.first().unwrap()),
111+
)
109112
} else {
110113
f64::from(self.right.first().unwrap())
111114
}

src/problem_0540_single_element_in_a_sorted_array/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ impl Solution {
88
let mut right = nums.len() - 1;
99

1010
while left != right {
11-
let middle = ((left + right) / 2) & !1;
11+
let middle = usize::midpoint(left, right) & !1;
1212

1313
if nums[middle] == nums[middle + 1] {
1414
left = middle + 2;

src/problem_0540_single_element_in_a_sorted_array/binary_search_2.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ impl Solution {
1010
let mut right = nums.len() - 1;
1111

1212
while left != right {
13-
let middle = (left + right) / 2;
13+
let middle = usize::midpoint(left, right);
1414

1515
if nums[middle] == nums[middle ^ 1] {
1616
left = middle + 1;

src/problem_0623_add_one_row_to_tree/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ mod tests {
5555
for ((root, val, depth), expected) in test_cases {
5656
let root = test_utilities::make_tree(root.iter().copied());
5757
let expected = test_utilities::make_tree(expected.iter().copied());
58-
let inverted_root = test_utilities::invert_tree(root.as_deref());
59-
let inverted_expected = test_utilities::invert_tree(expected.as_deref());
58+
let inverted_root = root.as_deref().map(test_utilities::invert_tree);
59+
let inverted_expected = expected.as_deref().map(test_utilities::invert_tree);
6060

6161
for (root, expected) in [(root, expected), (inverted_root, inverted_expected)] {
6262
assert_eq!(S::add_one_row(root, val, depth), expected);

src/problem_0655_print_binary_tree/recursive.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ impl Solution {
1919
}
2020

2121
fn helper(node: &RefCell<TreeNode>, row: usize, start: usize, end: usize, result: &mut [Vec<String>]) {
22-
let middle = (start + end) / 2;
22+
let middle = usize::midpoint(start, end);
2323
let node = node.borrow();
2424

2525
result[row][middle] = node.val.to_string();

src/problem_0668_kth_smallest_number_in_multiplication_table/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ impl Solution {
2828
let mut right = m * n;
2929

3030
while left < right {
31-
let middle = (left + right) / 2;
31+
let middle = u32::midpoint(left, right);
3232

3333
if Self::check(m, n, k, middle) {
3434
left = middle + 1;

src/problem_0718_maximum_length_of_repeated_subarray/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ impl Solution {
9898
let mut bucket_pool = Vec::with_capacity(nums1.len());
9999

100100
while left < right {
101-
let middle = (left + right) / 2;
101+
let middle = usize::midpoint(left, right);
102102

103103
if Self::check(&nums1, &nums2, middle, &mut buckets_buffer, &mut bucket_pool) {
104104
left = middle + 1;

src/problem_0719_find_k_th_smallest_pair_distance/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ impl Solution {
2828
let mut right = nums.last().unwrap() - nums.first().unwrap();
2929

3030
while left < right {
31-
let middle = (left + right) / 2;
31+
let middle = i32::midpoint(left, right);
3232

3333
if Self::check(&nums, middle, k) {
3434
left = middle + 1;

src/problem_0793_preimage_size_of_factorial_zeroes_function/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ impl Solution {
2323
let mut right = k;
2424

2525
while left < right {
26-
let middle = (left + right) / 2;
26+
let middle = u32::midpoint(left, right);
2727

2828
match Self::f(middle).cmp(&k) {
2929
Ordering::Less => left = middle + 1,

src/problem_0799_champagne_tower/dynamic_programming.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ impl Solution {
4646
let query_glass = query_glass.min(query_row - query_glass);
4747
let left = cache.get(query_glass.wrapping_sub(1)).copied().unwrap_or(0.0);
4848
let right = cache[query_glass.min(cache.len() - 1)];
49-
let incoming = (left + right) / 2.0;
49+
let incoming = f64::midpoint(left, right);
5050

5151
incoming.min(1.0)
5252
}

src/problem_0852_peak_index_in_a_mountain_array/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ impl Solution {
88
let mut right = arr.len() - 2;
99

1010
while left < right {
11-
let middle = (left + right) / 2;
11+
let middle = usize::midpoint(left, right);
1212

1313
if arr[middle] < arr[middle + 1] {
1414
left = middle + 1;

src/problem_0855_exam_room/binary_heap.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ impl Chunk {
1818
if self.start == 0 {
1919
0
2020
} else if self.end & 0x8000_0000 == 0 {
21-
(self.start + self.end) / 2
21+
u32::midpoint(self.start, self.end)
2222
} else {
2323
self.end()
2424
}

src/problem_0875_koko_eating_bananas/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ impl Solution {
2929
let mut high = max;
3030

3131
while low < high {
32-
let middle = (low + high) / 2;
32+
let middle = u32::midpoint(low, high);
3333

3434
if Self::check(&piles, h, middle) {
3535
low = middle + 1;

src/problem_0878_nth_magical_number/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl Solution {
3838
let mut high = Self::mul_sub_div(top, n + 2, 1, base);
3939

4040
while low < high {
41-
let middle = (low + high) / 2;
41+
let middle = u64::midpoint(low, high);
4242

4343
if middle / a + middle / b - middle / lcm < n {
4444
low = middle + 1;

src/problem_0878_nth_magical_number/mathematical.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ impl Solution {
3131
let mut high = ((a_u64 * b_u64 * (n_u64 + 2) - 1) / (a_u64 + b_u64)) as u32;
3232

3333
while low < high {
34-
let middle = (low + high) / 2;
34+
let middle = u32::midpoint(low, high);
3535

3636
if middle / a + middle / b < n {
3737
low = middle + 1;

src/problem_0887_super_egg_drop/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ impl Solution {
4141
let mut high = n;
4242

4343
while low < high {
44-
let middle = (low + high) / 2;
44+
let middle = u32::midpoint(low, high);
4545

4646
if Self::check_moves(k, middle, n) {
4747
high = middle;

src/problem_1011_capacity_to_ship_packages_within_d_days/binary_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ impl Solution {
4444
let mut right = total;
4545

4646
while left < right {
47-
let middle = (left + right) / 2;
47+
let middle = u32::midpoint(left, right);
4848

4949
if Self::check(weights, days, middle) {
5050
right = middle;

src/problem_1044_longest_duplicate_substring/binary_search_and_rolling_hash.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ impl Solution {
120120
let mut length = 0;
121121

122122
while left < right {
123-
let middle = (left + right) / 2;
123+
let middle = usize::midpoint(left, right);
124124

125125
if let Some(i) = Self::helper::<91_320_515_216_383_913>(s.as_bytes(), middle, &mut buckets, &mut pool) {
126126
start = i;

0 commit comments

Comments
 (0)