- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
从固定数量(在本例中为 3)的值中找到最小的非零正值或如果没有正问题则返回 0 的最佳算法是什么?
下面是我天真的方法(在 Delphi 中,但可以随意使用任何你喜欢的方法),但我认为还有一种更优雅的方法。
value1Temp := MaxInt;
value2Temp := MaxInt;
value3Temp := MaxInt;
if ( value1T > 0) then
value1Temp := value1;
if ( value2 > 0) then
value2Temp := value2;
if ( value3 > 0) then
value3Temp := value3;
Result := Min(value1Temp, Min(value2Temp, value3Temp));
if Result = MaxInt then
Result := 0;
编辑:如果没有正数,抱歉添加了所需内容。我以为我以前有它,但一定是错过了。
最佳答案
我会这样做:
Result := MaxInt;
if value1 > 0 then Result := min(Result, value1);
if value2 > 0 then Result := min(Result, value2);
if value3 > 0 then Result := min(Result, value3);
if Result = MaxInt then Result := 0;
如果您希望它在一个包含任意数量问题的循环中,那么:
Result := MaxInt;
for I := 1 to N do
if value[I] > 0 then Result := min(Result, value[I]);
if Result = MaxInt then Result := 0;
如果希望值数组从零开始,将for循环更改为:0到N-1
我认为这段代码非常清楚地说明了正在做什么。
在这个简单的例子中,将“then”语句放在同一行使代码看起来更清晰,但如果您认为有必要,可以随意将“then”语句缩进到下一行。
关于algorithm - 找到最小正值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/376657/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!