Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跟踪swift中最长的连胜记录_Swift - Fatal编程技术网

跟踪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