问题列表 - 第44400页

在已排序和旋转的数组中搜索

在准备技术面试时,我偶然发现了这个有趣的问题:

您已经获得了一个已排序然后旋转的数组.

arr = [1,2,3,4,5]哪个被排序然后旋转说两次给右边

[4,5,1,2,3]

现在,如何在这个已排序+旋转的数组中进行最佳搜索?

可以取消旋转数组,然后进行二分查找.但这并不比在输入数组中进行线性搜索更好,因为两者都是最坏的情况O(N).

请提供一些指示.我已经搜索了很多特殊算法,但找不到任何算法.

我理解c和c ++

c c++ arrays algorithm

68
推荐指数
5
解决办法
3万
查看次数

在Windows 7中捕获控制台退出C#

有没有人知道如何在Windows中的c#中的控制台中对ctrl + c事件作出反应?

这个问题:Capture控制台退出C#说明了怎么做,但我已经尝试过,它只捕获当用户单击控制台窗口顶部的关闭X时的事件.

当用户键入ctrl + c时没有任何反应,它甚至在调试时都没有命中处理程序.

谢谢

这是我的代码

namespace EventCloseConsole
{
    using System.Runtime.InteropServices;
    using System;

    class Program
    {
        [DllImport("Kernel32")]
        private static extern bool SetConsoleCtrlHandler(EventHandler handler, bool add);

        private delegate bool EventHandler(CtrlType sig);
        static EventHandler _handler;

        enum CtrlType
        {
            CTRL_C_EVENT = 0,
            CTRL_BREAK_EVENT = 1,
            CTRL_CLOSE_EVENT = 2,
            CTRL_LOGOFF_EVENT = 5,
            CTRL_SHUTDOWN_EVENT = 6
        }

        private static bool Handler(CtrlType sig)
        {
            switch (sig)
            {
                case CtrlType.CTRL_C_EVENT:
                case CtrlType.CTRL_LOGOFF_EVENT:
                case CtrlType.CTRL_SHUTDOWN_EVENT:
                case CtrlType.CTRL_CLOSE_EVENT:

                    Console.WriteLine("Closing");
                    System.Threading.Thread.Sleep(500);
                    return false;
                default:
                    return …
Run Code Online (Sandbox Code Playgroud)

.net c# console events exit

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

解除引用的指针是否是有效的左值?

假设定义:

int i  = 10;
int *p = &i;
Run Code Online (Sandbox Code Playgroud)

为什么*pa有效左值:

*p+=10; 
Run Code Online (Sandbox Code Playgroud)

不应该*p计算存储在&i的int的值,即.10,因此生成"非左值"错误?

c pointers lvalue

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

是否可以在C++中使用delete删除C POD?

结构像

struct ifoo_version_42 {
   int x, y, z;
   char *imageData;
};
Run Code Online (Sandbox Code Playgroud)

在哪里imageData是这样的imageData = new char[50000];

我们可以执行以下操作:

template< typename T >
void del( T a ) // we promise to use this only on C Plain Old data structs=)
{
  delete a;
}
Run Code Online (Sandbox Code Playgroud)

在这个结构上,它是否足以清理记忆形式,如果?

c++ types pod delete-operator data-structures

3
推荐指数
2
解决办法
228
查看次数

用于在Java中生成控制流的工具

我需要一个工具来生成java中的控制流,但不是一个可视化绘图,我可以使用像路径条件一样的东西.任何人 ?

java controls flow

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

Opera在keydown事件上阻止了默认()

我正试图在我的webapp中嵌入一些键绑定,而我在使用Opera时遇到了困难.我有这个代码:

window.onkeydown = function(e){
  var key = e.keyCode ? e.keyCode : e.charCode ? e.charCode : false;
  if (e.ctrlKey && key === 84) {
    alert("foo");
    e.preventDefault();
    // return false;
  }
}
Run Code Online (Sandbox Code Playgroud)

它就像Firefox和Chrome中的魅力一样,但Opera仍然会打开新标签.同样如此return false;.

我的信息: Opera/9.80 (X11; Linux i686; U; en) Presto/2.7.62 Version/11.00

javascript linux opera keyevent preventdefault

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

现代语言和数组符号约定

您是否知道任何现代语言,其中数组被标记为列/行而不是C++/Java/C#row/column中的数组?

arrays implementation programming-languages specifications

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

协变对象初始化器?

假设我有一个具有字典<string,bool>属性的类,使用对象初始化程序我可以使用这种语法(我觉得看起来很干净):

new MyClass()
{
  Table = { {"test",true},{"test",false} }
}
Run Code Online (Sandbox Code Playgroud)

但是,在初始化程序之外我不能这样做:

this.Table = { {"test",true},{"test",false} };
Run Code Online (Sandbox Code Playgroud)

为什么初始化器是特例?我猜测它与LINQ要求,协方差或诸如此类的东西有关,但感觉有点不一致,无法在任何地方使用这种初始化器...

.net c# object-initializers

6
推荐指数
2
解决办法
586
查看次数

我如何通过PHP保护空间的html密码标签?

你好我探索当有人试图在密码字段php处理空间时用它作为聊天.所以我怎么能阻止它.请求如果尝试写空间获取消息说不要尝试写空间

php

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

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