亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ruby:如何在數組中查找并返回重復值?

Ruby:如何在數組中查找并返回重復值?

忽然笑 2019-10-15 15:32:46
arr是字符串數組,例如:["hello", "world", "stack", "overflow", "hello", "again"]。一種簡單又優雅的方法來檢查是否arr有重復項,如果是,則返回其中一個(無論哪個)。例子:["A", "B", "C", "B", "A"]    # => "A" or "B"["A", "B", "C"]              # => nil
查看完整描述

3 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

只需找到第一個實例,其中對象的索引(從左數起)不等于對象的索引(從右數起)。


arr.detect {|e| arr.rindex(e) != arr.index(e) }

如果沒有重復項,則返回值為零。


我相信,這也是到目前為止線程中發布的最快的解決方案,因為它不依賴于其他對象的創建,#index并且#rindex是用C實現的。big-O運行時為N ^ 2,因此比Sergio,但是由于“慢速”部分在C中運行,因此掛墻時間可能要快得多。


查看完整回答
反對 回復 2019-10-15
  • 3 回答
  • 0 關注
  • 1155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號