3663.rb 587 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # 268. Missing Number
  2. # @param {Integer} n
  3. # @return {Integer}
  4. def get_least_frequent_digit(n)
  5. l = Array.new(10, 0)
  6. while n != 0 do
  7. n, d = n.divmod(10)
  8. l[d] += 1
  9. end
  10. min_value = 9999999
  11. min_index = 0
  12. i = 0
  13. while i < 10 do
  14. if l[i] > 0 and l[i] < min_value then
  15. min_value = l[i]
  16. min_index = i
  17. end
  18. i += 1
  19. end
  20. return min_index
  21. end
  22. def main()
  23. def r(n, exp)
  24. puts "get_least_frequent_digit(#{n}) = #{get_least_frequent_digit(n)} | exp: #{exp}"
  25. end
  26. r(1553322, 1)
  27. r(723344511, 2)
  28. r(10, 0)
  29. end
  30. if __FILE__ == $0
  31. main()
  32. end