小编Eri*_* P.的帖子

是否有可能计算出在分摊的次线性时间内以给定数量为模的一组数的最小值?

是否存在表示大量S(64位)整数的数据结构,这些整数从空开始并支持以下两个操作:

  • insert(s)将数字s插入S;
  • minmod(m)返回数字sS,使得s mod m最小.

一个例子:

    insert(11)
    insert(15)
    minmod(7) -> the answer is 15 (which mod 7 = 1)
    insert(14)
    minmod(7) -> the answer is 14 (which mod 7 = 0)
    minmod(10) -> the answer is 11 (which mod 10 = 1)

我有兴趣尽量减少在一系列n此类操作上花费的最长总时间.显然可以只S为每个minmod操作维护一个元素列表并迭代它们; 然后插入is O(1)和minmod O(|S|),这将花费O(n^2)时间进行n操作(例如,n/2 insert操作后面的n/2 minmod操作将花费大致n^2/4操作). …

algorithm data-structures

13
推荐指数
2
解决办法
245
查看次数

将字符串转换为NDB属性的正确类型的正确方法?

如果我有从GET或POST请求与相关的一些(串)值Property的情况下,一个IntegerProperty,一个TextProperty,说,是有办法的值,以正确的(用户)类型转换不长乏味链isinstance调用?

我希望重现这种功能(为清晰起见,省略了所有输入验证):

for key, value in self.request.POST.iteritems():
    prop = MyModel._properties[key]

    if isinstance(prop, ndb.IntegerProperty):
        value = int(value)
    elif isinstance(prop, (ndb.TextProperty, ndb.StringProperty)):
        pass # it's already the right type
    elif ...
    else
        raise RuntimeError("I don't know how to deal with this property: {}"
                           .format(prop))

    setattr(mymodelinstance, key, value)
Run Code Online (Sandbox Code Playgroud)

例如,如果有一种方式来获得int从类IntegerPropertybool从类BooleanProperty等,这将做的工作.

就我所见,ndb元数据API并没有真正解决这个问题; 但get_representations_of_kind我可以减少病例数.

python google-app-engine

10
推荐指数
1
解决办法
476
查看次数

有没有办法获得 i32 的 u32 绝对值,它对 std::i32::MIN 做正确的事情?

这个问题及其答案描述了为什么 i32 上的 abs() 返回 i32 而不是 u32。它说“似乎接受的解决方法是as u32用来投射”。但是,如果参数是std::i32::MIN. 标准库中有没有办法获得正确的值,或者我应该用这个值的特殊情况编写自己的实现 - 像这样:

fn my_abs(x: i32) -> u32 {
  if x == std::i32::MIN {
    (-(x as i64)) as u32
  } else {
    x.abs() as u32
  }
}
Run Code Online (Sandbox Code Playgroud)

rust

0
推荐指数
1
解决办法
380
查看次数