[Swift]LeetCode248.对称数 III $ Strobogrammatic Number III
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/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, the lowand high numbers are represented as string.
strobogramatic数字是旋转180度时看起来相同的数字(上下颠倒)。
编写一个函数来计算在low<=num<=high范围内存在的总strobogrammatic数。
例子:
输入:low=“50”,high=“100”
输出:3
说明:69、88和96是三个strobogramatic数字。
注:
因为范围可能是一个大数字,所以低数字和高数字表示为字符串。
1 class Solution { 2 func 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 } 10 11 func find (_ low:String,_ high:String,_ w:String,_ res:inout Int) 12 { 13 if w.count >= low.count && w.count <= high.count 14 { 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 += 1 22 } 23 } 24 if w.count + 2 > high.count 25 { 26 return 27 } 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 //直接按照索引方式截取指定索引的字符 39 subscript (_ i: Int) -> Character { 40 //读取字符 41 get {return self[index(startIndex, offsetBy: i)]} 42 } 43 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了