- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在尝试找出蛋糕中哪一 block 的平均值最高。
蛋糕上有数字 [1, 3, 4, 2, 2]
第 [3, 4] block 的平均结果为 3.5
得出最高平均值的切片就是我们的答案
最佳答案
是的,您当然可以在 O(N) 时间内完成此操作。我想说的是,我在面试时足够短的时间内就弄清楚了这一点,但我认为那是一个谎言。
诀窍是这样的:您只需要考虑从两端开始的切片。
证明:如果剩下的余数由两部分组成,则余数中的平均值将位于两部分的平均值之间。如果你扔掉平均值较低的部分,那么整体平均值就会上升。如果两件作品的平均值相同,那么您可以丢弃其中一件,总体平均值不会改变。
static int[] getBestSlice(int[] cake)
{
if (cake == null || cake.length < 1)
{
throw new IllegalArgumentException("THE CAKE IS A LIE!");
}
long leftSum = cake[0];
long rightSum = cake[cake.length-1];
long bestLeftSum = leftSum;
long bestRightSum = rightSum;
int bestLeftLen=1;
int bestRightLen=1;
for (int len=2; len<=cake.length; ++len)
{
leftSum += cake[len-1];
rightSum += cake[cake.length-len];
// a/b > c/d <=> ad > cb
if (leftSum*bestLeftLen > bestLeftSum*len)
{
bestLeftSum = leftSum;
bestLeftLen = len;
}
if (rightSum*bestRightLen > bestRightSum*len)
{
bestRightSum = rightSum;
bestRightLen = len;
}
}
if (bestLeftSum*bestRightLen > bestRightSum*bestLeftLen)
{
//best remainder is on the left -- slice off the right
return new int[]{bestLeftLen, cake.length-bestLeftLen};
}
else
{
//best remainder is on the right -- slice off the left
return new int[]{0,cake.length-bestRightLen};
}
}
关于java - 如果我们有一 block 蛋糕,那么找到数组中最高平均值的最有效算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53745961/
如何使这个 Cakephp 查询能够计算不同的值? $matches = $this->Product->find('count', array( 'condi
如何使这个 Cakephp 查询计数不同? $matches = $this->Product->find('count', array( 'condition
如何使这个 Cakephp 查询计数不同? $matches = $this->Product->find('count', array( 'condition
重复 What is a PHP Framework?and many more 到目前为止,我一直在使用 PHP 进行小的调整,主要是使用 WordPress。什么是 PHP 框架?为什么我需要它们
我正在为我的项目使用 CakePHP...为了加快我的代码速度,我只想获得一些与我的实际对象相关的模型类型: $result = $this->Category->find(
我们正在尝试找出蛋糕中哪一 block 的平均值最高。 蛋糕上有数字 [1, 3, 4, 2, 2] 第 [3, 4] block 的平均结果为 3.5 得出最高平均值的切片就是我们的答案 最佳答案
我以前用过几次 CakePHP,但这是我第一次尝试 Bake。在我的 Mac 上,我运行 CakePHP 1.3、PHP5.3.3 和 MySQL。我已经创建了我的数据库表并且应用程序连接到数据库。
我目前正在构建一个与 teamcity 交互的 Cake 构建脚本,我想提供进度消息。我可以很容易地报告任务名称,但我无法找出构建脚本中的进度。像(“执行 5 个任务中的第 1 个”)那样思考。 有什
如何在 cakephp 网站上设置 iPad/iPhone 书签图标?我使用的是正确的文件名 - apple-touch-icon.png - 我尝试将其上传到/webroot 和/webroot 上
在 AppController 中: public $helpers=array("Session","Html","Form"); public $components = array( '
我正在 Cake PHP 1.2 网站上测试我们网站的数据库从 Sql Server 到 MySQL 的转换,现在我在 Cake 存储模型信息的方式上遇到了错误。在创建我的“emp”(员工,不是我的命
我的模型相关如下: Post BELONGS_TO Parent Parent HAS_MANY ParentAdmin 现在,如果满足帖子的属性值,我希望找到所有帖子的所有父级管理员。等效的 sql
我想用从 Excel 工作表中提取的“平面”数据填充我的数据库。所有记录都以数组形式提供(类似于 $request->data),但它们的主键设置了必须保留的值。 我的代码: $imported =
我知道已经有一个类似的问题here ,但我认为我的问题完全不同,值得创建一个新帖子。 我使用 CAKE 0.21.1.0。 作为 TeamCity 上的一个构建步骤,我正在执行 build.ps1,它
我正在使用 CakePHP 2.4.7 并且我正在尝试在远程主机上执行 CakePHP shell。 我以 root 身份连接到服务器,然后执行 $ [path_to_my_foler]/app/Co
我的模型定义如下: columnType('data', 'json'); return $schema; } } 保存到数据库和检索数据时正确应用 JSON 格式
我在 CakePHP 1.3 中编写了一个具有返回值的 shell 方法。 我希望能够从 Controller 中访问该方法,以便将其返回值传递到 View 中。 我不确定如何从 Controller
我正在尝试运行我的蛋糕 shell 脚本,但输出如下所示: -bash-3.2$ ../cake/console/cake audit ../cake/console/cake: line 30:/r
我在 cake php 3 中有三个表: - 图片表 - 图片有图片表 - 图片类型表 一个图像有多个子图像。我已经与一个链接在一起belongsToMany 协会。 $this->belongsTo
我是一名优秀的程序员,十分优秀!