Skip to content

Commit 8981045

Browse files
authored
2025-01-07 v. 7.7.5: added "869. Reordered Power of 2"
2 parents 86fad99 + cca7b4a commit 8981045

File tree

4 files changed

+40
-1
lines changed

4 files changed

+40
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,7 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
631631
| 858. Mirror Reflection | [Link](https://leetcode.com/problems/mirror-reflection/) | [Link](./lib/medium/858_mirror_reflection.rb) | [Link](./test/medium/test_858_mirror_reflection.rb) |
632632
| 863. All Nodes Distance K in Binary Tree | [Link](https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/) | [Link](./lib/medium/863_all_nodes_distance_k_in_binary_tree.rb) | [Link](./test/medium/test_863_all_nodes_distance_k_in_binary_tree.rb) |
633633
| 865. Smallest Subtree with all the Deepest Nodes | [Link](https://leetcode.com/problems/smallest-subtree-with-all-the-deepest-nodes/) | [Link](./lib/medium/865_smallest_subtree_with_all_the_deepest_nodes.rb) | [Link](./test/medium/test_865_smallest_subtree_with_all_the_deepest_nodes.rb) |
634+
| 869. Reordered Power of 2 | [Link](https://leetcode.com/problems/reordered-power-of-2/) | [Link](./lib/medium/869_reordered_power_of_2.rb) | [Link](./test/medium/test_869_reordered_power_of_2.rb) |
634635

635636
### Hard
636637

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 = '7.7.4'
8+
s.version = '7.7.5'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[README.md]
1111
s.executable = 'leetcode-ruby'
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# frozen_string_literal: true
2+
3+
# https://leetcode.com/problems/reordered-power-of-2/
4+
# @param {Integer} n
5+
# @return {Boolean}
6+
def reordered_power_of2(n)
7+
arr = count_for_reordered_power_of2(n)
8+
(0...31).each do |i|
9+
return true if arr == count_for_reordered_power_of2(1 << i)
10+
end
11+
12+
false
13+
end
14+
15+
private
16+
17+
# @param {Integer} n
18+
# @return {Integer[]}
19+
def count_for_reordered_power_of2(n)
20+
result = ::Array.new(10, 0)
21+
while n.positive?
22+
result[n % 10] += 1
23+
n /= 10
24+
end
25+
26+
result
27+
end
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# frozen_string_literal: true
2+
3+
require_relative '../test_helper'
4+
require_relative '../../lib/medium/869_reordered_power_of_2'
5+
require 'minitest/autorun'
6+
7+
class ReorderedPowerOf2Test < ::Minitest::Test
8+
def test_default_one = assert(reordered_power_of2(1))
9+
10+
def test_default_two = assert(!reordered_power_of2(10))
11+
end

0 commit comments

Comments
 (0)