小编Hen*_*hiu的帖子

用1遍查找链表的中间元素,这是一个创造性的"无用的答案"吗?

假设您希望尽可能高效地找到链表的中间节点.给出的最典型的"最佳"答案是保持2个指针,一个中间和当前.当遇到的元素数被2整除时,增加中间指针.因此,我们可以在1遍中找到中间值.高效,对吗?比蛮力更好,包括1次传递到最后,然后再传1次直到我们达到/ 2.

但是......没那么快,为什么第一种方法比"蛮力"方式更快?在第一种方法中,我们将中间指针递增大约/ 2倍.但是以蛮力的方式,在我们的第二遍中,我们遍历列表,直到我们达到第二个节点的大小.那么这两种方法不一样吗?为什么第一个优于第二个?

//finding middle element of LinkedList in single pass
          LinkedList.Node current = head;
          int length = 0;
          LinkedList.Node middle = head;

          while(current.next() != null){
              length++;
              if(length%2 ==0){
                  middle = middle.next();
              }
              current = current.next();
          }

          if(length%2 == 1){
              middle = middle.next();
          }
Run Code Online (Sandbox Code Playgroud)

java algorithm data-structures

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

为什么卷曲不起作用,但是wget有效?

我正在使用curl和wget来获取此URL:http://opinionator.blogs.nytimes.com/2012/01/19/118675/

对于curl,它根本不返回任何输出,但是使用wget,它返回整个HTML源:

这是2个命令.我使用了相同的用户代理,两者都来自同一个IP,并且正在跟踪重定向.URL完全相同.对于卷曲,它会在1秒后立即返回,所以我知道这不是超时问题.

curl -L -s "http://opinionator.blogs.nytimes.com/2012/01/19/118675/" --max-redirs 10000 --location --connect-timeout 20 -m 20 -A "Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" 2>&1

wget http://opinionator.blogs.nytimes.com/2012/01/19/118675/ --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" 
Run Code Online (Sandbox Code Playgroud)

如果"纽约时报"可能会伪装,并且没有将源代码恢复到卷曲状态,那么标题卷曲中可能会有什么不同呢?我假设因为用户代理是相同的,所以请求应该看起来完全相同.我应该检查其他什么"脚印"?

curl http wget

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

Max Postgres连接设定的经验法则?

根据经验,我应该为Postgres服务器设置多少个最大连接数?例如,如果我有8 GB内存和四核3.2 GHZ机器,并且服务器专用于Postgres,那么多少个最大连接是安全的?

postgresql

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

子域名是否可以删除域cookie?

假设我有一个为.domain.com设置的cookie,我的子域是sub.domain.com.我可以删除为主域设置的cookie吗?我知道可以阅读它们,但是可以删除这些cookie,还是覆盖它们的值?

cookies http

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

ElasticSearch:根据字段长度过滤文档?

有没有办法根据特定字段的长度过滤ElasticSearch文档?

例如,我有一堆带有"body"字段的文档,我只想返回正文中字符数> 1000的结果.有没有办法在ES中执行此操作而无需添加额外的列与索引的长度?

lucene elasticsearch

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

iPhone:如何在选择时更改UITableViewCell中的字体颜色?

我的内容视图中有一个带标签的UITableViewCell.当我将单元格选择样式设置为灰色或蓝色时,我希望标签中的字体颜色为白色.我怎样才能做到这一点?

iphone

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

Javascript:如何劫持输入类型=提交点击行为?

我有一个按钮:

每当我点击它时,它都会提交给表单.

我想劫持这种行为,所以当我点击它时,它会调用JS函数.我该怎么做呢?我补充说:

$('input.submit').live('click', addFood);
Run Code Online (Sandbox Code Playgroud)

问题是它仍然提交给表单.当我删除"type ="submit"时,它有效.

我不想删除HTML代码.它也绑定到CSS,我不想改变CSS,因为我害怕搞乱它=)

所以问题是:如何更改提交按钮的行为,以便它不提交到表单但调用我的Javascript(JQuery)函数?

javascript jquery

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

杀死autovacuum的危险:VACUUM查询(以防止环绕)

有一个autovacuum查询需要很长时间才能运行,并阻止alter query运行.

在完成之前杀死这个autovacuum进程有什么危险?

PID      QUERY
16967 | autovacuum: VACUUM public.articles (to prevent wraparound)

以下是我如何杀死它:

select pg_terminate_backend(16967) from pg_stat_activity;
Run Code Online (Sandbox Code Playgroud)

database postgresql autovacuum

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

在插入查询仍在运行时运行 pg_dump?

如果我运行pg_dump将表转储到 SQL 文件中,它是否会拍摄表中最后一行的快照,并将所有行转储到该行?

或者它是否继续转储所有行,甚至是pg_dump运行后插入的行?

第二个问题是:在运行之前停止所有插入查询是个好主意吗pg_dump

sql postgresql pg-dump

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

Ruby NET :: HTTP在正文之前读取标题(没有HEAD请求)?

我正在使用Net :: HTTP和Ruby来抓取URL.

我不想抓取流媒体音频,例如:http://listen2.openstream.co/334

实际上我只想抓取Html内容,所以没有pdfs,video,txt ..

现在,我将open_timeout和read_timeout都设置为10,所以即使我抓取这些流式音频页面,它们也会超时.

url = 'http://listen2.openstream.co/334'
path = uri.path

req= Net::HTTP::Get.new(path, {'Accept' => '*/*', 'Content-Type' => 'text/plain; charset=utf-8', 'Connection' => 'keep-alive','Accept-Encoding' => 'Identity'})

uri = Addressable::URI.parse(url)   

resp =  Net::HTTP.start(uri.host, uri.inferred_port) do |httpRequest|
    httpRequest.open_timeout = 10
    httpRequest.read_timeout = 10
    #how can I read the headers here before it's streaming the body and then exit b/c the content type is audio?
    httpRequest.request(req)
end
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法检查标题之前我读取http响应的正文,看看它是否是一个音频?我想这样做而不发送单独的HEAD请求.

ruby ruby-on-rails

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