红宝石中字符串的异或
Posted
技术标签:
【中文标题】红宝石中字符串的异或【英文标题】:Xor of string in ruby 【发布时间】:2010-09-25 19:51:02 【问题描述】:我有一个字符串,假设是“123|ABC|test|12345|FF”,我想对每个字符的 ascii 值进行异或运算并以十六进制打印结果。
最简单的方法是什么?
【问题讨论】:
【参考方案1】:找到了……
lrc = 0
input.each_byte do | c |
lrc ^= c
end
hexVal = lrc.to_s(16)
【讨论】:
【参考方案2】:在 Ruby 1.8.7 或 1.9.1 中:
input.bytes.inject |a,b| a ^ b .to_s(16)
【讨论】:
以上是关于红宝石中字符串的异或的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode1738. 找出第 K 大的异或坐标值(快排堆排序)/ 剑指 Offer 48. 最长不含重复字符的子字符串 / 剑指 Offer 49. 丑数