javascript - 循环时如何忽略特定值
问题描述
我想将此javascript转换为用于解决编码测试的swift。算法最多计算一个数字并在循环时跳过特定数字。
一家酒店有 300 间客房,每间客房都使用从 001 开始的三位数字编号。但是,数字 2 和 5 不用于任何房间编号的任何地方。第100个房间的房间号是多少?
javascript
var currentNumber = 1, var n = 0;
while (currentNumber <= 100) {
n++;
if (n.toString().search(/[25]/) == -1)
currentNumber++
}
console.log(n);
迅速尝试
var currentRoom = 1
var n = 0
while currentRoom <= 100 {
n += 1
if n. // don't know the Swift equivalent methods.
}
编辑:除了使用 Swift 的重复语法接受的答案之外,我还能够编写另一个解决方案。
var roomNumber = 1, x = 0
repeat {
x += 1
if String(x).contains("2") || String(x).contains("5") {
continue
}
roomNumber += 1
} while roomNumber <= 100
print(x)
解决方案
var currentRoomNo = 1
var n = 0
while currentRoomNo <= 100 {
n += 1
if String(n).contains("2") || String(n).contains("5") {
continue
}
currentRoomNo += 1
}
print(n)
推荐阅读
- node.js - 我是 node.js 的新手,并表示我正在处理节点变量
- python - Python中有没有办法找到名称中数字最小的文件?
- amazon-web-services - Unity AWS SDK 支持独立还是仅支持移动?
- xpath - XPATH 多个条件以排除某些元素
- python - 如何在python上存储和读取我的逻辑操作
- java - Spring Boot (Netflix Eureka) - 访问微服务的自定义 URI
- python - 在 python 中释放数据帧内存
- c# - StreamReader 在 while 循环中读取 null
- next.js - 如何将默认登录页面更改为登录而不是索引
- jquery - 如何在 API 成功中获得 Draftjs 编辑器状态