Ruby--Find the Difference


Find the Difference

题目连结:https://leetcode.com/problems/find-the-difference/
题目重点:t字串大於s字串,只随机多"一个"字母。

大家都有的黑魔法,byte转换。

2.7.3 :048 > "a".bytes
 => [97] 
2.7.3 :049 > "a".ord
 => 97 
2.7.3 :050 > "aa".bytes
 => [97, 97] 
2.7.3 :051 > "aa".ord
 => 97 
2.7.3 :052 > [97, 97].sum
 => 194 
2.7.3 :053 > "aa".sum
 => 194 

依照题目来解

def find_the_difference(s, t)
  (t.sum - s.sum).chr
end

2.7.3 :054 > 99.chr
 => "c" 

不跑回圈不行

def find_the_difference(s, t)
  #s与t先转换成有序阵列
  #一个一个比较,回array内那个不相同的
end

2.7.3 :058 > "acade".chars
 => ["a", "c", "a", "d", "e"] 
2.7.3 :059 > "acade".split""
 => ["a", "c", "a", "d", "e"] 
2.7.3 :060 > ["a", "c", "a", "d", "e"].sort
 => ["a", "a", "c", "d", "e"] 

ans

def find_the_difference(s, t)
  s_arr = s.chars.sort
  t_arr = t.chars.sort
  i = 0
  while i < t.length
    if t_arr[i] != s_arr[i]
      return t_arr[i]
    else
      i += 1
    end
  end
end

<<:  第40天~

>>:  [C#] Base64 Convert.ToBase64String 基本转码及适用网址参数转码延伸应用

[07] telegram 回声各种讯息种类

请跟查看官方提供的文件 https://core.telegram.org/bots/api#ava...

【杂谈】 今天就来点闲聊吧 - 铁人赛观察①

因爲本系列後续内容另有规划,虽然会在多发表几篇。 但与系列无关,今天就先来闲聊吧! 徽章出现啦~!...

Linux FAQ : ls , cp , rm Argument list too long

Linux FAQ : ls , cp , rm Argument list too long 在使...

EP29 - 秽土转生~到了 AWS 也要能够备份~

在 EP13 - 灾难演练,重建你的 VPC, 我们在重建 VPC 之前, 有带着大家怎麽进行单次备...

搜寻引擎优化入门篇:你不能不知道的响应式网页设计

随着行动浏览成为搜寻引擎主流,响应式网页设计也越来越重要,甚至能说在这几年,假设你的网页没有响应式设...