跟踪swift中最长的连胜记录
如果这个问题太简单或以前有人问过,我表示歉意,但我在任何地方都找不到解决方案 我有一个随机生成“是”或“否”的函数。我如何跟踪和存储序列中最长的连续“否”跟踪swift中最长的连胜记录,swift,Swift,如果这个问题太简单或以前有人问过,我表示歉意,但我在任何地方都找不到解决方案 我有一个随机生成“是”或“否”的函数。我如何跟踪和存储序列中最长的连续“否” 提前谢谢 例如,假设generateansware()是生成Yes或No func GenerateAnswear() -> String { switch arc4random() % 2 { case 0: return "Yes" default: return "No"
提前谢谢 例如,假设
generateansware()
是生成Yes
或No
func GenerateAnswear() -> String {
switch arc4random() % 2 {
case 0:
return "Yes"
default:
return "No"
}
}
streak = answear == "No" ? streak + 1 : 0
让我们声明一个变量来存储具有初始值的条纹0
为了在一行中生成一些应答,我们做了一个while循环。
在这个循环中,我们调用方法generateansware()
要计算No
的条纹,我们需要验证编码中的answear是否等于No
,并分配给当前的streak
值增加1
或0
,如果生成的answear不同,则No
func GenerateAnswear() -> String {
switch arc4random() % 2 {
case 0:
return "Yes"
default:
return "No"
}
}
streak = answear == "No" ? streak + 1 : 0
这里是上面代码的一个简单输出。条纹值存储在局部变量中。你想用它做什么就做什么
No
streak 1
Yes
streak 0
Yes
streak 0
Yes
streak 0
No
streak 1
No
streak 2
No
streak 3
Yes
streak 0
Yes
streak 0
Yes
streak 0
例如,假设
generateansware()
是生成Yes
或No
func GenerateAnswear() -> String {
switch arc4random() % 2 {
case 0:
return "Yes"
default:
return "No"
}
}
streak = answear == "No" ? streak + 1 : 0
让我们声明一个变量来存储具有初始值的条纹0
为了在一行中生成一些应答,我们做了一个while循环。
在这个循环中,我们调用方法generateansware()
要计算No
的条纹,我们需要验证编码中的answear是否等于No
,并分配给当前的streak
值增加1
或0
,如果生成的answear不同,则No
func GenerateAnswear() -> String {
switch arc4random() % 2 {
case 0:
return "Yes"
default:
return "No"
}
}
streak = answear == "No" ? streak + 1 : 0
这里是上面代码的一个简单输出。条纹值存储在局部变量中。你想用它做什么就做什么
No
streak 1
Yes
streak 0
Yes
streak 0
Yes
streak 0
No
streak 1
No
streak 2
No
streak 3
Yes
streak 0
Yes
streak 0
Yes
streak 0
我已经试过了,你可以把所有的条纹值存储在一个数组中,然后从中找出最大值。下面是代码
var streak = 0
var streakArr = [Int]()
// This will generate the random values
func randomBool() -> Bool {
return arc4random_uniform(2) == 0
}
for i in 0...10 {
let obj = randomBool()
if !obj {
streak += 1
} else {
streak = 0
}
streakArr.append(streak)
}
streakArr // OP- [1, 0, 1, 2, 0, 0, 0, 0, 1, 2, 3]
streakArr.max() // will give you the maximum value ie. 3
我已经试过了,你可以把所有的条纹值存储在一个数组中,然后从中找出最大值。下面是代码
var streak = 0
var streakArr = [Int]()
// This will generate the random values
func randomBool() -> Bool {
return arc4random_uniform(2) == 0
}
for i in 0...10 {
let obj = randomBool()
if !obj {
streak += 1
} else {
streak = 0
}
streakArr.append(streak)
}
streakArr // OP- [1, 0, 1, 2, 0, 0, 0, 0, 1, 2, 3]
streakArr.max() // will give you the maximum value ie. 3