小编McG*_*ire的帖子

列表(可能)可以被另一个整除吗?

问题

假设您有两个列表A = [a_1, a_2, ..., a_n]B = [b_1, b_2, ..., b_n]整数.我们说A潜在的,可分割B,如果有一个置换B,使得a_i整除b_i所有i.那么问题是:是否有可能重新排序(即置换)B以便a_i可以被b_i所有人整除i?例如,如果你有

A = [6, 12, 8]
B = [3, 4, 6]
Run Code Online (Sandbox Code Playgroud)

那么答案是True,因为B可以重新排序是B = [3, 6, 4],然后我们就会有a_1 / b_1 = 2,a_2 / b_2 = 2a_3 / b_3 = 2,所有这一切都是整数,因此A是潜在的,整除B …

python algorithm primes numbers division

67
推荐指数
3
解决办法
3261
查看次数

如果 onPreferenceChange 在 SwiftUI 中的 ScrollView 内,为什么不调用它?

我一直在使用 ScrollView 看到首选项键的一些奇怪行为。如果我把它放在onPreferenceChange里面ScrollView它不会被调用,但如果我把它放在外面它会!


我已经设置了一个宽度首选项键,如下所示:

struct WidthPreferenceKey: PreferenceKey {
    typealias Value = CGFloat
    static var defaultValue = CGFloat(0)

    static func reduce(value: inout CGFloat, nextValue: () -> CGFloat) {
        value = nextValue()
    }
}
Run Code Online (Sandbox Code Playgroud)

以下简单视图不会打印:

struct ContentView: View {
    var body: some View {
        ScrollView {
            Text("Hello")
                .preference(key: WidthPreferenceKey.self, value: 20)
                .onPreferenceChange(WidthPreferenceKey.self) {
                    print($0) // Not being called, we're in a scroll view.
                }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这有效:

struct ContentView: View {
    var body: some View {
        ScrollView …
Run Code Online (Sandbox Code Playgroud)

swiftui

16
推荐指数
2
解决办法
7178
查看次数

改进使用笛卡尔积的算法

问题

假设您有n整数列表,其中每个列表仅包含from 1到的整数n.例如,对于n = 4,我们可能有:

a_1 = [1, 2]
a_2 = [3]
a_3 = [4, 1, 1]
a_4 = [2, 3]
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:我可以勾选这些列表之间1和之间的所有整数,但是一旦我找到一个数字,我就不能再使用该列表来查找后续数字了吗?nn

例如,在上面的示例中n = 4,我可以选择1,from a_1,from a_4,3 from a_2和4 for a_3,因此我填充了从1到4的所有数字,但仅使用每个列表一次.

我无法找到范围(因此应该返回False)的示例将是:

a_1 = [1, 2]
a_2 = [3, 3, 5]
a_3 = [4]
a_4 = [5]
a_5 = [3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

原因是因为如果我从a_1中选择1,我就不能从任何列表中选择2.

途径

这是我目前直截了当的方法.我制作列表的笛卡尔积,并检查是否有任何,排序,将是一个范围.

import itertools

def …
Run Code Online (Sandbox Code Playgroud)

python algorithm optimization cartesian-product

9
推荐指数
1
解决办法
319
查看次数

如何在 SwiftUI 中选择性地传入绑定?

我有一个视图,它在内部管理一个跟踪当前索引的 @State 变量。所以像:

struct ReusableView: View {

    @State var index: Int = 0

    var body: some View {
        Text("The index is \(self.index)"
        // A button that changes the index
    }

}
Run Code Online (Sandbox Code Playgroud)

此视图将在整个应用程序中重复使用。有时父视图需要访问索引,所以我这样重构它:

struct ParentView: View {

    @State var index: Int = 0

    var body: some View {
      ReusableView($index)
    }

}

struct ReusableView: View {

    @Binding var index: Int

    var body: some View {
        Text("The index is \(self.index)"
        // A button that changes the index
    }

}

Run Code Online (Sandbox Code Playgroud)

问题

我不想强制父视图始终保持索引的状态。换句话说,我想选择性地允许父视图负责状态变量,但默认为可重用视图来维护状态,以防父视图不关心索引。 …

swift swiftui

8
推荐指数
1
解决办法
4518
查看次数