问题列表 - 第39134页

求斐波纳契数列中所有偶数项的总和

我无法确定以下代码为什么不产生预期的输出.相反,结果= 272似乎不正确.

/*
 *Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
 *Find the sum of all the even-valued terms in the sequence which do not exceed four million.
 */

public class Fibonacci 
{
    public static void main (String[] args)
    {
        int result = 0;
        for(int i=2;i<=33;i++)
        {
            System.out.println("i:" + fib(i)); …
Run Code Online (Sandbox Code Playgroud)

java fibonacci

3
推荐指数
1
解决办法
3975
查看次数

比O(n!)更快地计算利润

所以上周我在这里为ACM ICPC东南地区发布了一个问题 - > 算法来计算二进制数字范围的1的数量.收到的很好,但仍然没有解决,所以我想为什么不提出我的团队无法解决的另一个问题.

问题.

你的朋友刚刚开了一家新公司,你想看看tehy做得多好.这项业务已经运行了好几天,你的朋友每天都记录了他们的净利润.您希望找到朋友在至少一天的连续时间段内获得的最大总利润.例如,如果您的朋友的利润看起来像这样:

Day 1: -3
Day 2: 4
Day 3: 9
Day 4: -2
Day 5: -5
Day 6: 8
Run Code Online (Sandbox Code Playgroud)

从第2天到第6天,他们在任何跨度上的最大利润为14.

输入输入
中将有几个测试用例.每个测试用例将在其自己的行上以整数N(1 <= N <= 250,000)开始,表示天数.在接下来的N行中,每一行都是一个整数P(-100 <= P <= 100),表示当天的利润.日期按顺序指定.输入将以一个单行0结束

输出
对于每个测试用例,输出一个整数,表示任何非空时间跨度的最大利润.在没有空格的情况下在自己的行上打印每个整数.不要在答案之间打印任何木板线.

样本输入

6
-3
4
9
-2
-5
8
2
-100
-19
0
Run Code Online (Sandbox Code Playgroud)

样本输出

14
-19
Run Code Online (Sandbox Code Playgroud)

如果您不担心效率,解决此问题的代码非常简单,但在比赛中解决的唯一方法是O(n!),这是不可接受的.我希望堆栈溢出可以做得更好

祝好运!

编辑


只是为了保持这里更新是完成的代码,解决了O(n)中的这个问题.

import java.util.Scanner;

public class Profits { 
    public static int  seqStart=0, seqEnd=-1; 
    public static void main(String args[]) { 
        Scanner s = new Scanner(System.in); …
Run Code Online (Sandbox Code Playgroud)

language-agnostic performance

3
推荐指数
1
解决办法
272
查看次数

Kohana 3 ORM:高级查询,效率

所以我们都知道Kohana 3的文档绝对是可怕的.那么如何构建以下查询,我有"玩家"和"龙"模型?

SELECT * FROM `dragons` JOIN `players` ON (`dragons`.`player_id` = `players`.`player_id`) WHERE `uid` IN (1,2,3) ORDER BY `dragons`.`id` ASC
Run Code Online (Sandbox Code Playgroud)

我可以ORM::factory('dragon')->join("players")->on("dragons.player_id", "=", "players.player_id")用来进入连接部分,但我不能做这个in条款.inKohana 3的ORM 没有功能.我尝试了这个where函数,但它在第三个参数周围加上引号,所以我的ID列表变成了一个字符串,查询变得无效.那我该怎么办?我无法弄清楚如何将自定义的SQL位添加到我的ORM加载查询中.同样,因为文档不存在.

我现在能想到的唯一方法就是加载所有合适的玩家,循环播放它们并获取它们的龙.但这看起来真的很愚蠢 - 比必要的查询更多.我以前觉得这样,使用ORM会在查询结束时使事情变得非常低效,以便使代码更容易编码.这是真的?

php orm kohana kohana-3

4
推荐指数
1
解决办法
2166
查看次数

方法和协议之间有什么区别

他们说协议是一种方法,但它与方法不同.确切地说,它做了什么以及方法和协议之间的区别是什么?

protocols objective-c

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

基于视图的iOS应用程序模板

我已经阅读了Apple的"你的第一个iOS应用程序"指南,对我来说,一切都很清楚.但是,当我试图理解XCode中提供的基于视图的iOS应用程序模板如何工作时,我遇到了一些有趣的难题.

我知道应用程序获取主要的nib文件名(通常是MainWindow.xib)形成*-Info.plist文件.我不明白的是,XCode如何知道哪个nib文件与默认情况下使用此基于View的应用程序模板创建的控制器相关联.在本指南中,您将从基于Window的应用程序开始,并且"必须编写"类似于:

MyViewController *aViewController = [[MyViewController alloc]
initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];

[self setMyViewController:aViewController];
Run Code Online (Sandbox Code Playgroud)

这很有道理.然而,事实证明,在基于视图的iOS应用程序模板中没有这样的东西,并且首先实际上并不需要这个nib规范,只要您创建了带有选项"With XIB for user interface"的UIViewController子类"检查.我的问题是,XCode如何知道哪个nib与此控制器相关联,即它是将此连接存储在某些文件中,还是通过某种约定(控制器和nib文件的名称可能相同)?此外,'加载来自MyViewBasedAppController''副标题来自于MainWindow.xib中接口构建器的控制器视图?当我手动添加控制器时,它绝对不存在,所以我很好奇XCode在我背后做了什么魔术,当我想我的时候

iphone xcode interface-builder ios xcode-template

4
推荐指数
1
解决办法
1899
查看次数

Boost确实减慢了VS2005上的编译速度

我最近开始在我的C++项目中使用Boost并注意到在编译开始之前有相当大的延迟(当我重新构建时,我必须等待5分钟才能开始编译).

我已经运行了Filemon,它向我展示了Visual Studio闲置的所有时间devenv.exe正在通过Boost包含目录进行探测.

任何想法我怎样才能加快编译速度而不会让Boost远离这个项目?

谢谢.

c++ boost compilation

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

XNA在绘制文字时画得很奇怪

我正在使用XNA 3.1开发3D Spaceship游戏

我试图将我的绘画代码与游戏逻辑分开(altought XNA几乎就是这样).

我正在使用一个特殊的静态类,在屏幕上绘制我的模型......主要的Game类在绘画中使用此代码:

protected override void Draw(GameTime gameTime)
    {
        graphics.GraphicsDevice.Clear(Color.Black);

        // Draws the stage (the skybox and objects like rocks)
        stageManager.Draw(gameTime, GraphicsDevice, camera);


        // Draws each player and each Enemy on stage given the camera
        foreach (Player p in players)
            p.Draw(camera);

        foreach(Enemy e in enemies)
            e.Draw(camera);

        if(Configuration.Debug)
            col.renderColBoundings(GraphicsDevice, camera);

        GraphicHelper.drawOverlayText("50", "10"); // "Error" line...

        base.Draw(gameTime);
    }
Run Code Online (Sandbox Code Playgroud)

但是当我画出文字时,会出现一些奇怪的东西......这是一张图片(原创):

正如你所看到的,一切看起来都是重叠的(但在适当的位置)......就像飞船涡轮机一样.

里面的代码GraphicHelper.drawOverlayText是这样的:

public static void drawOverlayText(String p1Hp, String currEnemies)
    {
        string text1 = "Player1: " + …
Run Code Online (Sandbox Code Playgroud)

c# xna paint sprite

4
推荐指数
1
解决办法
1823
查看次数

函数设置变量不应该

function genEnemy(a) {
 //javascript:alert(en[0]+'\n'+genEnemy(en[0])+'\n'+en[0])
 with (Math) {
  a[1]=round(a[1]*(.5+random()))
  a[2]=round(a[2]*(1+random()))
  for (var b=0;b<5;b++) a[3][b]=round(a[3][b]*(a[3][b]/2+random()*a[3][b]/10))
  for (var b=0;b<a[4].length;b++) random()<it[a[4][b]][3]/10?a[4][b]=0:0
  }
 return a
 }
Run Code Online (Sandbox Code Playgroud)

根据每个敌人阵列的基础生成敌人的统计数据的脚本.(RPG游戏)问题是,当我期望它返回包含新统计数据的数组时,它还将敌人数组设置为新数组.为什么是这样?显然你可以看到问题是如何由此引起的(基础被改变,所以弱小的敌人可以变得更加强大).如何阻止它在en(敌人值数组)中设​​置数组?

javascript arrays variables return

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

Python类 - 被覆盖的实例?

当我为我创建的类调用一个对象的新实例时,我的一个类实例就被覆盖了.为什么会这样?示例如下.

我的课程定义如下:

class my_class:
    attribute = ""
    examples = [] 
    children = []
    d = {}
    def __init__(self, attribute, e):
        self.attribute = attribute
        self.examples = e

        for ex in self.examples:
            self.d[ex[-1]] = self.d.get(ex[-1], 0) + 1
Run Code Online (Sandbox Code Playgroud)

我正在制作一个初始实例:

root = my_class(some_attribute, data)
Run Code Online (Sandbox Code Playgroud)

然后,我创建另一个实例:

child = my_class(different_attribute, root.examples[somewhere_1:somewhere_2])
Run Code Online (Sandbox Code Playgroud)

最后,我的初始"root"现在与"child"在某种程度上相同,其中"root"应该保持不变.为什么是这样!?

python

2
推荐指数
1
解决办法
1290
查看次数

仅在出现错误时创建Python日志文件(使用日志记录模块)

我想在Python中使用"logging"模块将错误写入日志文件.但是,我希望只在出现错误时才创建文件.我使用以下代码:

import logging

f = 'test.conf'

logger = logging.getLogger("test_logger")
logger.setLevel(logging.INFO)

ch_file = logging.FileHandler("test_logger.conf")
ch_file.setLevel(logging.ERROR)

logger.addHandler(ch_file)

ch_file.close()

ch = logging.StreamHandler()
ch.setLevel(logging.INFO)

formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")

ch.setFormatter(formatter)


logger.addHandler(ch)

logger.info("info")
logger.warn("warning")
#logger.error("error")
Run Code Online (Sandbox Code Playgroud)

当取消注释logger.error("error")时,我希望文件"test_logger.conf"中包含错误.但是,当该行被注释掉时,我发现test_logger.conf文件仍然是空的.除非有错误报告,否则我怎么能这样做才能生成这个文件?

谢谢.

python logging error-logging

5
推荐指数
1
解决办法
2617
查看次数