小编Duk*_*ing的帖子

外部合并排序算法如何工作?

我试图理解外部合并排序算法是如何工作的(我看到了相同问题的一些答案,但没有找到我需要的东西).我正在阅读Jeffrey McConnell撰写的"分析算法"一书,我正在尝试实现那里描述的算法.

例如,我有输入数据:3,5,1,2,4,6,9,8,7,我只能将4个数字加载到内存中.

我的第一步是读取4个数字块的输入文件,在内存中对它们进行排序,然后将一个写入文件A,然后写入文件B.

我有:

A:[1,2,3,5][7]  
B:[4,6,8,9]
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,如果它们不适合内存,我如何将这些文件中的块合并到较大的文件中呢?杰弗里麦康奈尔写道,我需要阅读半块并将它们合并到下一个文件C和D.

但我得错了序列:

C:[1,2,4,6,3,8,5,9]
D:[7]
Run Code Online (Sandbox Code Playgroud)

有人可以提供分步说明的例子吗?

PS:我理解如何通过读取文件来合并数字,但是如何使用内存缓冲区来减少I/O操作呢?

sorting algorithm mergesort external-sorting

36
推荐指数
3
解决办法
4万
查看次数

连接多个字符串时将创建多少个字符串对象?

在一次采访中,有人问我要在给定问题上创建的对象数量:

String str1 = "First";
String str2 = "Second";
String str3 = "Third";
String str4 = str1 + str2 + str3;
Run Code Online (Sandbox Code Playgroud)

我回答说将在字符串池中创建6个对象。

三个变量中的每个变量都为3。
1代表str1 + str2(假设str)。
1代表str2 + str3。
1将代表str + str3(str = str1 + str2)。

我给出的答案正确吗?如果没有,正确答案是什么?

java string string-concatenation string-building string-pool

36
推荐指数
3
解决办法
1138
查看次数

了解包含反斜杠的printf的输出(\ 012)

能帮我理解这个简单代码的输出吗?

const char str[10] = "55\01234";
printf("%s", str);
Run Code Online (Sandbox Code Playgroud)

输出是:

55
34
Run Code Online (Sandbox Code Playgroud)

c string printf

33
推荐指数
3
解决办法
7638
查看次数

pow说:Bundler :: GemNotFound:在任何来源中都找不到rake-0.9.2.2

我有一个运行良好的rails应用程序rails s,但是当我尝试使用pow加载它时,我收到此错误:

Bundler::GemNotFound: Could not find rake-0.9.2.2 in any of the sources
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:88:in `block in materialize'
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:82:in `map!'
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:82:in `materialize'
....
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这个应用程序中的.rvmrc文件指定1.9.3-p125:

which rake
.../.rvm/gems/ruby-1.9.3-p125/bin/rake
Run Code Online (Sandbox Code Playgroud)

这是我跑步时看到的bundle install:

Using rake (0.9.2.2) 
Run Code Online (Sandbox Code Playgroud)

FWIW,pow使用1.9.2和另一个gemset的另一个非rails项目可以正常工作.

谢谢!

ruby-on-rails rvm rack-pow

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

错误:类X是public应该在名为X.java的文件中声明

我正在尝试编写程序,但是我收到了这个编译错误:

Main.java:1: error: class WeatherArray is public, should be declared in a file named WeatherArray.java
public class WeatherArray {
       ^
1 error
Run Code Online (Sandbox Code Playgroud)

我检查了我的文件名,我的公共类与我的.java文件相同.

我怎样才能解决这个问题?

这是我的代码:

public class WeatherArray {
    public static void main(String[] args) {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

java

31
推荐指数
4
解决办法
20万
查看次数

Chrome与<select> <option>标记的display-inline一起出现问题

我遇到了一个问题,我无法在Firefox和Chrome上使用相同的CSS来呈现相同的内容.它们不是一个包含24个值的垂直选择框,而是在Firefox中彼此相邻排列:

在Chrome中,它们显示为垂直多选框.

缩写3小时示例的完整代码:

<html>
  <head>
    <style type="text/css">
      option { display: inline; }
    </style>
  </head>
  <body>
    <form>
      <select id="aryHours[]" class="select_hours" size="1" multiple="multiple" name="aryHours[]">  
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
      </select>
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在Chrome中,选项不会显示为内联.

任何解释为什么这个代码不起作用,有没有其他方法来实现相同的布局?

css html5 google-chrome

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

如何使用arraylist作为预准备语句参数

我已经看过了,并且无法找到我正在接受的以下挑战的答案.这似乎很简单但我无法解决它.

我有一个ArrayList类型为Long- > 的记录ID ArrayList<Long>.我想使用此记录ID列表来从另​​一个表中选择行.到现在为止还挺好.现在迎接挑战......

a)我正在使用预准备语句,使用ArrayListas输入从表中选择数据.

selectPS = dbConnection.prepareStatement("select columnA from tableA where id in ?");
Run Code Online (Sandbox Code Playgroud)

关于上述问题 - 如何定义参数?以上对于ArrayList类型参数似乎不正确.

b)在为预准备语句设置参数值时,我也遇到了问题.没有设置ArrayList类型值的方法,我看不到其他可行的选项.

---> selectPS.set?????(1, arraylistParameter);
     ResultSet rs = selectPS.executeQuery(); 
Run Code Online (Sandbox Code Playgroud)

我们非常感谢您给我的任何帮助或指导.

谢谢.

java arraylist prepared-statement

30
推荐指数
2
解决办法
9万
查看次数

这个看似无关的块(在if语句之后)如何工作?

我继承了一些代码,如果符号,偶尔使用以下代码:

if (a)
    foo();
{
    if (b)
        boo();
    moo();
}
Run Code Online (Sandbox Code Playgroud)

我不确定如何自然地阅读,但代码编译和运行.

有人可以解释这是如何工作的,以便我可以用更人性化的格式重写它?或者,有人可以解释为什么这种表示法有用吗?

c#

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

我可以在我的Ubuntu上安装Pow吗?

我在Mac上发现Pow很棒.它使Rails开发环境设置变得容易.我可以在我的Ubuntu上安装它吗?我找不到任何关于它的信息.如果没有,Linux有什么类似的吗?

ubuntu ruby-on-rails rack-pow

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

插入等值元素

我目前正在研究二叉搜索树,我想知道如果你尝试插入一个与根相同的元素,你会怎么做?它去哪儿了?

algorithm binary-search-tree

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