输入:
1)一个巨大的字符串SA排序数组;
2)前缀字符串P;
输出:
与输入前缀匹配的第一个字符串的索引(如果有).如果没有这样的匹配,则输出将为-1.
示例:SA = {"ab","abd","abdf","abz"} P ="abd"输出应为1(索引从0开始).
做这种工作的算法最简单的方法是什么?
我遇到了关于HTML呈现的问题.
在IE7的dir ="rtl"文档中,当JavaScript尝试将焦点设置为DIV元素(使用oElement.focus()方法)时,渲染变为混乱.上下文非常复杂,所以我认为最简单的解决方法是使DIV无法对焦?
有什么方法可以让DIV无法集中注意力吗?
在HttpWatch的帮助下,我试图找出GMail如何实现Comet.
我使用两个帐户登录GMail,一个在IE中,另一个在Firefox中.在GMail中使用"WASSUP"等一些神奇的词语在GMail中聊天.然后,我注销两个GMail帐户,过滤任何http内容而不使用"WASSUP"字符串.结果显示哪个HTTP请求是流式传输通道.(注意:我必须注销.否则,永无止境的HTTP不会在HttpWatch中显示内容.)
结果很有趣.流通道的URL如下:
https:// mail/channel/bind?VER = 8&at = xn3j33vcvk39lkfq .....
毫无疑问,GMail使用IFRAME进行IE浏览.Http内容以" <html><body>" 开头.
最初,我猜测GMail在Firefox中使用多部分XmlHttpRequest进行Comet.令我惊讶的是,响应标头没有"multipart/x-mixed-replace"标头.响应标头如下:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Sat, 20 Mar 2010 01:52:39 GMT
X-Frame-Options: ALLOWALL
Transfer-Encoding: chunked
X-Content-Type-Options: nosniff
Server: GSE
X-XSS-Protection: 0
Run Code Online (Sandbox Code Playgroud)
不幸的是,HttpWatch不会告诉HTTP请求是否来自XmlHttpRequest.内容不是HTML而是JSON.它看起来像是对XHR的响应,但是如果没有multipart/x-mixed-replace,这对Comet不起作用,对吗?
还有什么办法可以弄清楚GMail如何实现Comet?
更新: 经过进一步调查,我相信GMail以这种方式实现了Comet:1)在IE中,它使用了forever-hidden-iframe; 2)在Firefox中,它使用forever-XHR而不使用multipart/x-mixed-replace标头.客户端将在条件(readyState == 3)OR(readyState == 4)中响应.也就是说,处于交互状态和完整状态.
StackOverflow最受欢迎的功能是它可以自动检测post中的代码并为代码设置合适的颜色.
我想知道颜色是如何设置的.当我在页面上执行Ctrl+ F5时,代码似乎首先是黑色文本,然后变为丰富多彩.它是由jQuery完成的吗?
我知道现代浏览器通常有两种渲染模式:标准模式和怪异模式.浏览器检测标题DocType.
问题是如何在运行时检测当前页面的渲染模式.有没有Firebug工具呢?
在C#4.0中,我们有动态类型,但是如何调用动态类型对象的静态方法?
下面的代码将在运行时生成异常.该动态对象是从C#类,但它可能是从通过DLR其他语言的对象.关键不在于如何调用静态方法,而是如何调用无法在C#代码中创建的动态对象的静态方法.
class Foo
{
public static int Sum(int x, int y)
{
return x + y;
}
}
class Program
{
static void Main(string[] args)
{
dynamic d = new Foo();
Console.WriteLine(d.Sum(1, 3));
}
}
Run Code Online (Sandbox Code Playgroud)
恕我直言,动态是发明桥接C#和其他编程语言.还有一些其他语言(例如Java)允许通过对象而不是类型来调用静态方法.
顺便说一下,与C#3.0相比,C#4.0的引入并不那么令人印象深刻.
我被告知应该在网页中避免使用document.write,因为它会损害网页性能.但究竟是什么原因呢?
我想知道如果一个脚本标签同时具有"src"和内联脚本.我试过下面的代码.
<script src="http://yui.yahooapis.com/2.8.1/build/yahoo/yahoo-min.js" type="text/javascript" charset="utf-8">
alert('hello');
</script>
<script type="text/javascript" charset="utf-8">
alert(YAHOO);
</script>
Run Code Online (Sandbox Code Playgroud)
它似乎从未在Firefox和Chrome中执行过"alert('hello')".我试图将src更改为指向不存在的URI."alert('hello')"也没有被执行.
那么,如果脚本标记中有src属性,则始终会忽略内联脚本?
我正在学习ASP.NET MVC并且被一个问题所困扰.
在HomeController中,Index操作具有OutputCache属性,但似乎不起作用.
[HandleError]
public class HomeController : Controller
{
[OutputCache(Duration=5, VaryByParam="none")]
public ActionResult Index()
{
ViewData["Title"] = "Home Page" + DateTime.Now;
ViewData["Message"] = "Welcome to ASP.NET MVC! " + DateTime.Now;
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
经过几分钟的尝试,我发现这是由于我访问动作的方式.如果我通过" http:// localhost:3573 / " 访问它,则outputcache不起作用.但是,如果我使用" http:// localhost:3575/Home/Index " 访问它,则outputcache可以正常工作.
任何人都知道任何解决方法,使默认的控制器 - 动作outputcacheable?
谢谢.
要减少http请求并缩小静态文件下载,建议连接并缩小单页使用的所有JavaScript/CSS文件.
它有所不同吗?
1)缩小所有javascript文件,然后连接它们;
2)连接所有javascript文件,然后缩小它们.
javascript ×6
.net ×1
action ×1
algorithm ×1
arrays ×1
asp.net-mvc ×1
browser ×1
c# ×1
c#-4.0 ×1
comet ×1
compression ×1
controller ×1
dynamic ×1
focus ×1
gmail ×1
html ×1
httpwatch ×1
mode ×1
outputcache ×1
performance ×1
render ×1
search ×1
sorting ×1
standards ×1
string ×1