小编h4c*_*k3d的帖子

检查字符串是否是另一个字符串的旋转而不连接

有两个字符串,我们如何检查一个是否是另一个的旋转版本?

For Example : hello --- lohel

一个简单的解决方案是concatenating首先使用自身的字符串并检查另一个是否是substring连接版本的字符串.

还有其他解决方案吗?

我想知道我们是否可以使用它circular linked list?但我无法达成解决方案.

language-agnostic string algorithm

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

在数组中查找对,使得%b = k,其中k是给定的整数

这是我遇到的一个有趣的编程难题.由于正整数数组,以及一些K.我们需要找到对(A,B)从数组这样a % b = K.

我有一个幼稚为O(n ^ 2)解决了这个在这里我们可以检查所有对,使得A%B = K.工作但效率低下.我们当然可以做得比这更好吗?任何有效的算法?哦,这不是功课.

language-agnostic algorithm number-theory

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

从队列中获取O(1)时间的最小值/最大值?

如何在0(1)时间复杂度的任何时间从队列中检索max和min元素?之前我使用Collections.max和min来查找元素,但这将是0(n).

java data-structures

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

找到数组的忍者索引

这是我遇到的一个有趣的难题,根据该难题,给定一个数组,我们需要在其中找到忍者索引.

忍者指数由以下规则定义:

索引K使得具有较小索引的所有元素具有低于或等于A [K]的值,并且具有较大索引的所有元素具有大于或等于A [K]的值.

例如,考虑:

A[0]=4, A[1]=2, A[2]=2, A[3]=3, A[4]=1, A[5]=4, A[6]=7, A[7]=8, A[8]=6, A[9]=9.

在这种情况下,5是忍者指数,因为对于r = [0,k]和A [5] <= A [r] r = [k,n],A [r] <= A [5].

我们应该遵循什么算法才能在O(n)中找到它.我已经有一个强力O(n ^ 2)解决方案.

编辑:可能有超过1个忍者指数,但我们需要优先找到第一个.如果没有NI,那么我们将返回-1.

language-agnostic arrays algorithm

8
推荐指数
1
解决办法
277
查看次数

使用函数调用初始化静态变量会产生编译错误?

#include <stdio.h>
int foo(){
    return 1;
}
int main(void) {
    static int q = foo(); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是相同的链接.这是一个C代码而不是C++.它编译并在C++中运行良好,但不是C.

此代码出现编译错误.有人可以解释为什么会出错?静态成员只能用常量值初始化吗?在C++中,我们需要在声明静态成员后对其进行DEFINE,为什么在C中不需要它?我找不到任何具有类似查询或良好答案的线程.

c static

8
推荐指数
2
解决办法
5833
查看次数

Eclipse和Android错误'parseSdkContent failed'

自从我升级Android Tools到21.1 后出现此问题.当我开始eclipse时,即使在干净的工作空间中,我也会收到错误parseSdkContent failed,并且详细说明:

com.android.sdklib.devices.DeviceManager.createInstance
(Ljava/lang/String;Lcom/android/utils/ILogger;)
Lcom/android/sdklib/devices/DeviceManager;
Run Code Online (Sandbox Code Playgroud)

我已经搜索了互联网并尝试了几乎所有解决方案但无济于事.当我转到Android偏好设置并尝试设置SDK的路径时,它表示没有可用的目标.还有什么我可以尝试的吗?在修复之前我无法进行任何Android开发.

eclipse android adt

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

为什么输出不同?

请解释一下为什么它的行为不同.

  int main() {
    int p;
    p = (printf("stack"),printf("overflow"));
    printf("%d",p);
    return 0;
  }
Run Code Online (Sandbox Code Playgroud)

这将输出作为stackoverflow8.但是,如果我删除了paranthesis,那么:

p = printf("stack"),printf("overflow"); 给出输出为 stackoverflow5

c

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

在C++中,关于对象创建,隐式使用了新的吗?

当我创建一个类的对象时,比方说,

class A {
  public: A() {}
};

A a;
Run Code Online (Sandbox Code Playgroud)

只是构造函数被调用?或new隐含使用运算符?

就像我们必须做的那样 A* b = new A();

此外,将在哪里存储ab存储在内存中?堆栈还是堆?

c++ oop

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

S3(GT-I9300)相机预览持有者错误

我们基于android.hardware.Camera类创建了一个自定义相机.当我们按下"拍照"按钮时,预期的行为是拍摄照片并在查看屏幕上查看仍拍摄的照片.但是,当我们进入查看屏幕时,相机仍可正常工作/取景器正在显示"实时"拍摄(而不是静态查看).看起来持有人不起作用.

在某些Samsung Galaxy S3手机上观察到这种情况(GT-I9300); 但奇怪的是在所有其他模型上一切正常(静止图像出现在评论屏幕中).

camera android

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

在C++中,如何在不使用友元函数的情况下通过对象调用私有函数?

我遇到了用C++编写的代码:

#include<iostream>
using namespace std;

class Base {
public:
    virtual int fun(int i) { cout << "Base::fun(int i) called"; }
};

class Derived: public Base {
private:
    int fun(int x)   { cout << "Derived::fun(int x) called"; }
};

int main()
{
    Base *ptr = new Derived;
    ptr->fun(10);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

 Derived::fun(int x) called 
Run Code Online (Sandbox Code Playgroud)

在以下情况中:

#include<iostream>
using namespace std;

class Base {
public:
    virtual int fun(int i) { }
};

class Derived: public Base {
private:
    int fun(int x)   { …
Run Code Online (Sandbox Code Playgroud)

c++ oop polymorphism dynamic-binding

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