Skip to content

Commit 6187669

Browse files
authored
2025-03-14 v. 8.9.7: added "2091. Removing Minimum and Maximum From Array"
2 parents 5bb307a + 1e6262e commit 6187669

File tree

4 files changed

+58
-1
lines changed

4 files changed

+58
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,7 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
730730
| 2058. Find the Minimum and Maximum Number of Nodes Between Critical Points | [Link](https://leetcode.com/problems/find-the-minimum-and-maximum-number-of-nodes-between-critical-points/) | [Link](./lib/medium/2058_find_the_minimum_and_maximum_number_of_nodes_between_critical_points.rb) | [Link](./test/medium/test_2058_find_the_minimum_and_maximum_number_of_nodes_between_critical_points.rb) |
731731
| 2063. Vowels of All Substrings | [Link](https://leetcode.com/problems/vowels-of-all-substrings/) | [Link](./lib/medium/2063_vowels_of_all_substrings.rb) | [Link](./test/medium/test_2063_vowels_of_all_substrings.rb) |
732732
| 2074. Reverse Nodes in Even Length Groups | [Link](https://leetcode.com/problems/reverse-nodes-in-even-length-groups/) | [Link](./lib/medium/2074_reverse_nodes_in_even_length_groups.rb) | [Link](./test/medium/test_2074_reverse_nodes_in_even_length_groups.rb) |
733+
| 2091. Removing Minimum and Maximum From Array | [Link](https://leetcode.com/problems/removing-minimum-and-maximum-from-array/) | [Link](./lib/medium/2091_removing_minimum_and_maximum_from_array.rb) | [Link](./test/medium/test_2091_removing_minimum_and_maximum_from_array.rb) |
733734
| 2116. Check if a Parentheses String Can Be Valid | [Link](https://leetcode.com/problems/check-if-a-parentheses-string-can-be-valid/) | [Link](./lib/medium/2116_check_if_a_parentheses_string_can_be_valid.rb) | [Link](./test/medium/test_2116_check_if_a_parentheses_string_can_be_valid.rb) |
734735
| 2425. Bitwise XOR of All Pairings | [Link](https://leetcode.com/problems/bitwise-xor-of-all-pairings/) | [Link](./lib/medium/2425_bitwise_xor_of_all_pairings.rb) | [Link](./test/medium/test_2425_bitwise_xor_of_all_pairings.rb) |
735736
| 2429. Minimize XOR | [Link](https://leetcode.com/problems/minimize-xor/) | [Link](./lib/medium/2429_minimize_xor.rb) | [Link](./test/medium/test_2429_minimize_xor.rb) |

leetcode-ruby.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ require 'English'
55
::Gem::Specification.new do |s|
66
s.required_ruby_version = '>= 3.0'
77
s.name = 'leetcode-ruby'
8-
s.version = '8.9.6'
8+
s.version = '8.9.7'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[README.md]
1111
s.executable = 'leetcode-ruby'
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# frozen_string_literal: true
2+
3+
# https://leetcode.com/problems/removing-minimum-and-maximum-from-array/
4+
# @param {Integer[]} nums
5+
# @return {Integer}
6+
def minimum_deletions(nums)
7+
size = nums.size
8+
min_index = 0
9+
max_index = 0
10+
11+
(1...size).each do |i|
12+
num = nums[i]
13+
max_index = i if num > nums[max_index]
14+
min_index = i if num < nums[min_index]
15+
end
16+
17+
a = [min_index, max_index].max + 1
18+
b = size - [min_index, max_index].min
19+
c = min_index > max_index ? max_index + 1 + size - min_index : min_index + 1 + size - max_index
20+
21+
[a, b, c].min
22+
end
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# frozen_string_literal: true
2+
3+
require_relative '../test_helper'
4+
require_relative '../../lib/medium/2091_removing_minimum_and_maximum_from_array'
5+
require 'minitest/autorun'
6+
7+
class RemovingMinimumAndMaximumFromArrayTest < ::Minitest::Test
8+
def test_default_one
9+
assert_equal(
10+
5,
11+
minimum_deletions(
12+
[2, 10, 7, 5, 4, 1, 8, 6]
13+
)
14+
)
15+
end
16+
17+
def test_default_two
18+
assert_equal(
19+
3,
20+
minimum_deletions(
21+
[0, -4, 19, 1, 8, -2, -3, 5]
22+
)
23+
)
24+
end
25+
26+
def test_default_three
27+
assert_equal(
28+
1,
29+
minimum_deletions(
30+
[101]
31+
)
32+
)
33+
end
34+
end

0 commit comments

Comments
 (0)