小编Fli*_*mzy的帖子

O(log n)究竟意味着什么?

我目前正在学习Big O Notation运行时间和摊销时间.我理解O(n)线性时间的概念,意味着输入的大小成比例地影响算法的增长...例如,二次时间O(n 2)等也是如此.即使算法也是如此. ,例如置换生成器,具有O(n!)倍,通过阶乘生长.

例如,以下函数是O(n),因为算法与其输入n成比例增长:

f(int n) {
  int i;
  for (i = 0; i < n; ++i)
    printf("%d", i);
}
Run Code Online (Sandbox Code Playgroud)

同样,如果有嵌套循环,则时间为O(n 2).

但究竟什么是O(log n)?例如,说完整二叉树的高度是O(log n)是什么意思?

我知道(可能不是非常详细)什么是对数,在这个意义上:log 10 100 = 2,但我无法理解如何识别具有对数时间的函数.

big-o time-complexity

2021
推荐指数
29
解决办法
91万
查看次数

CSS 100%高度,填充/边距

这让我疯狂了好几天了,但实际上这是我在过去几年中一直存在的问题:使用HTML/CSS我怎样才能制作出具有宽度和/或宽度的元素高度是它的父元素的100%,仍然有适当的填充或边距?

所谓"适当的"我的意思是,如果我的父元素是200px高大的,我指定height = 100%padding = 5px我所期望的,我应该得到一个190px高的元素与border = 5px所有各方,很好地集中在父元素.

现在,我知道那不是标准盒子模型指定它应该如何工作(虽然我想知道为什么,确切地说......),所以明显的答案不起作用:

#myDiv {
    width: 100%
    height: 100%;
    padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)

但在我看来,必须有一些方法可以为任意大小的父母可靠地产生这种效果.有谁知道完成这个(看似简单)任务的方法?

哦,为了记录,我对IE兼容性并不十分感兴趣,所以应该(希望)让事情变得更容易一些.

编辑:自从一个例子被要求,这是我能想到的最简单的一个:

<html style="height: 100%">
    <body style="height: 100%">
        <div style="background-color: black; height: 100%; padding: 25px"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

接下来的挑战是让黑盒子在所有边缘都显示25像素的填充,而页面不会变得足够大以至于需要滚动条.

css

792
推荐指数
8
解决办法
32万
查看次数

如何在Go中有效地连接字符串?

在Go中,a string是原始类型,这意味着它是只读的,并且对它的每次操作都将创建一个新字符串.

因此,如果我想在不知道结果字符串长度的情况下多次连接字符串,那么最好的方法是什么?

天真的方式是:

s := ""
for i := 0; i < 1000; i++ {
    s += getShortStringFromSomewhere()
}
return s
Run Code Online (Sandbox Code Playgroud)

但这似乎不是很有效.

string string-concatenation go

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

如何恢复隐藏的未提交更改

我在我的开发分支中有一些未提交的更改,并且我使用它们进行了存储git stash,但是有些更改在那些被隐藏的更改中非常重要.有没有办法找回这些变化?

此外,我已经在存储的代码文件之上做了一些更改.

如果可能的话,我是否有可能检索到新分支的藏匿更改?

git git-stash

600
推荐指数
7
解决办法
49万
查看次数

转到特定版本

我克隆了某个项目的git存储库.我可以将文件转换为初始状态吗?当我查看文件时,请转到修订版2,3,4 ...最近?我想概述项目是如何发展的.

git revision revision-history

518
推荐指数
4
解决办法
56万
查看次数

如何在ASP.NET MVC中正确处理404?

我正在使用RC2

使用URL路由:

routes.MapRoute(
    "Error",
     "{*url}",
     new { controller = "Errors", action = "NotFound" }  // 404s
);
Run Code Online (Sandbox Code Playgroud)

以上似乎照顾这样的请求(假设默认路由表由初始MVC项目设置):"/ blah/blah/blah/blah"

覆盖控制器本身中的HandleUnknownAction():

// 404s - handle here (bad action requested
protected override void HandleUnknownAction(string actionName) {
    ViewData["actionName"] = actionName;
    View("NotFound").ExecuteResult(this.ControllerContext);
}  
Run Code Online (Sandbox Code Playgroud)

但是,之前的策略不处理对Bad/Unknown控制器的请求.例如,我没有"/ IDoNotExist",如果我请求这个,我从Web服务器获取通用404页面而不是我的404,如果我使用路由+覆盖.

最后,我的问题是: 有没有办法在MVC框架中使用路由或其他东西来捕获这种类型的请求?

或者我应该默认使用Web.Config customErrors作为我的404处理程序并忘记所有这些?我假设如果我使用customErrors,由于Web.Config对直接访问的限制,我必须在/ Views之外存储通用404页面.

asp.net-mvc http-status-code-404

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

如何在控制台中打印struct变量?

如何打印(在控制台)Id,Title,Name等这个结构中Golang的?

type Project struct {
    Id int64 `json:"project_id"`
    Title string `json:"title"`
    Name string `json:"name"`
    Data Data `json:"data"`
    Commits Commits `json:"commits"`
}
Run Code Online (Sandbox Code Playgroud)

struct go

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

字典:如何保持键/值与声明的顺序相同?

我有一个字典,我按特定顺序声明,并希望始终保持该顺序.键/值不能根据它们的值按顺序保存,我只是按照我声明的顺序想要它.

所以,如果我有字典:

d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}
Run Code Online (Sandbox Code Playgroud)

如果我查看它或迭代它,它是不是按顺序,有没有办法确保Python将保持我声明键/值的显式顺序?

python sorting dictionary

292
推荐指数
8
解决办法
30万
查看次数

迭代地图的所有键

有没有办法获取Go语言地图中所有键的列表?元素的数量由len(),但如果我有一个像这样的地图:

m := map[string]string{ "key1":"val1", "key2":"val2" };
Run Code Online (Sandbox Code Playgroud)

如何迭代所有键?

dictionary loops go

284
推荐指数
4
解决办法
23万
查看次数

如何以非交互方式为psql指定密码?

我正在尝试使用shell脚本自动化数据库创建过程,并且我已经通过将密码传递给psql而遇到了一个问题.以下是shell脚本中的一些代码:

psql -U $DB_USER -h localhost -c"$DB_RECREATE_SQL"
Run Code Online (Sandbox Code Playgroud)

如何以非交互方式将密码传递给psql?

谢谢!

postgresql bash command-line

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