失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > [Swift]LeetCode248.对称数 III $ Strobogrammatic Number III

[Swift]LeetCode248.对称数 III $ Strobogrammatic Number III

时间:2020-05-12 07:31:34

相关推荐

[Swift]LeetCode248.对称数 III $ Strobogrammatic Number III

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

➤微信公众号:山青咏芝(shanqingyongzhi)

➤博客园地址:山青咏芝(/strengthen/)

➤GitHub地址:/strengthen/LeetCode

➤原文地址:/strengthen/p/10214629.html

➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。

➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down).

Write a function to count the total strobogrammatic numbers that exist in the range of low <= num <= high.

Example:

Input: low = "50", high = "100"Output: 3 Explanation: 69, 88, and 96 are three strobogrammatic numbers.

Note:

Because the range might be a large number, thelowandhighnumbers are represented as string.

strobogramatic数字是旋转180度时看起来相同的数字(上下颠倒)。

编写一个函数来计算在low<=num<=high范围内存在的总strobogrammatic数。

例子:

输入:low=“50”,high=“100”

输出:3

说明:69、88和96是三个strobogramatic数字。

注:

因为范围可能是一个大数字,所以低数字和高数字表示为字符串。

1 class Solution { 2func strobogrammaticInRange(_ low:String,_ high:String) -> Int { 3 var res:Int = 0 4 find(low, high, "", &res) 5 find(low, high, "0", &res) 6 find(low, high, "1", &res) 7 find(low, high, "8", &res) 8 return res; 9}1011func find (_ low:String,_ high:String,_ w:String,_ res:inout Int)12{13 if w.count >= low.count && w.count <= high.count14 {15 if (w.count == low.count && w < low) || (w.count == high.count && w > high)16 {17 return 18 }19 if !(w.count > 1 && w[0] == "0")20 {21 res += 122 }23 }24 if w.count + 2 > high.count25 {26 return27 }28 find(low, high, "0" + w + "0", &res)29 find(low, high, "1" + w + "1", &res)30 find(low, high, "6" + w + "9", &res)31 find(low, high, "8" + w + "8", &res)32 find(low, high, "9" + w + "6", &res)33}34 }35 36 extension String { 37//subscript函数可以检索数组中的值38//直接按照索引方式截取指定索引的字符39subscript (_ i: Int) -> Character {40 //读取字符41 get {return self[index(startIndex, offsetBy: i)]}42}43 }

如果觉得《[Swift]LeetCode248.对称数 III $ Strobogrammatic Number III》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。