You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby如何统计大整数中出现次数最多的数字的出现频次

Ruby实现大整数最高频数字出现次数统计

实现思路

  • 将大整数转换为字符串后拆分,得到单个数字组成的字符数组
  • 统计每个数字的出现频次
  • 提取所有频次的最大值,即为需要的结果

代码实现

简洁版(Ruby 2.7及以上版本支持)

Ruby 2.7新增了内置的tally方法可以直接统计数组元素频次,写法更简洁:

# 输入示例大整数
big_num = 123456782345673455676767878
# 统计每个数字的出现次数
count_map = big_num.to_s.chars.tally
# 取最高出现次数
max_count = count_map.values.max

puts max_count
# 示例运行输出:6

兼容版(支持所有Ruby版本)

如果使用的Ruby版本低于2.7,没有tally方法,可以用如下写法实现相同逻辑:

big_num = 123456782345673455676767878
count_map = big_num.to_s.chars.each_with_object(Hash.new(0)) do |digit, counter|
  counter[digit] += 1
end
max_count = count_map.values.max

puts max_count

说明

如果存在多个数字出现次数同为最高的情况,上述代码依然会返回正确的最高出现次数,无需额外调整。

内容的提问来源于stack exchange,提问作者Warden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 23:06:03