小编JAN*_*JAN的帖子

给定数字X,在两个排序的数组中找到两个元素,例如A [i] + B [j] = X(O + n + m)

鉴于以下问题,我很感激任何更正,因为我对当前的问题没有解决方案(取自我教授的一个考试!!!):

备注:这不是功课!

问题:

给定两个排序的数组A(具有长度n)和B(具有长度m),每个数组

element(在两个数组中)是一个实数和一个数字X(也是一个实数),

我们想知道是否存在a ? Ab ? B,如:

a + b = X ,在O(n+m)运行时间.

方案:

首先,我们从两个数组的末尾开始检查,因为我们不需要大于的数字X:

  • 我= n
  • k = m

  • 而A [i]> X,i = i -1

  • 而B [k]> X,k = k -1

定义j = 0.现在开始从当前的iin Ajin中开始运行B:

  • while i > 0 , j < k :
  • if A[i]+B[j] == X ,然后返回两个单元格
  • 其他 …

arrays sorting algorithm big-o

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

JSP - "<%...%>"VS"<%= ...%>"之间的区别是什么

虽然有工作JSP文件和servlet,我碰到 <% … %><%= … %>.

这两种情况有什么区别?

谢谢

java jsp servlets scriptlet

6
推荐指数
3
解决办法
6035
查看次数

c ++中对象的实例(不是指针)

如果我有以下课程:

class Object { ... } 

class MyClass1: public Object { ... } 

class MyClass2: public Object { ... }
Run Code Online (Sandbox Code Playgroud)

和堆栈: std::stack<Object> statesObjects;

MyClass1 c1;
MyClass2 c2;

statesObjects.push(c1); // okay
statesObjects.push(c2); // okay 
Run Code Online (Sandbox Code Playgroud)

我如何将它们弹出并检索堆栈头部的元素(top()没有)dynamic_cast ,因为我不在这里使用指针?

c++ stack object

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

Prolog中的剪切和失败

请考虑以下代码:

a(X) :- b(X),!,c(X),fail.
a(X) :- d(X).

b(1).
b(4).
c(1).
c(3).

d(4).
Run Code Online (Sandbox Code Playgroud)

查询a(X).生成

1 ?- a(X).
false.

2 ?-
Run Code Online (Sandbox Code Playgroud)

但是这个代码

a(X) :- b(X),!,c(X).
a(X) :- d(X).

b(1).
b(4).
c(1).
c(3).

d(4).
Run Code Online (Sandbox Code Playgroud)

查询a(X).结果为:

1 ?- a(X).
X = 1.
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,为什么fail/1产生错误?它应该强制回溯,对吧?那么b(1)c(1).将进行检查,我在想,为什么失败?

prolog prolog-cut

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

切换两个INT变量的情况

请考虑以下代码:

if (xPoint > 0 && yPoint > 0) {
    m_navigations = Directions.SouthEast;
}
else if (xPoint > 0 && yPoint < 0) {
    m_navigations = Directions.NorthEast;
}
else if (xPoint < 0 && yPoint > 0) {
    m_navigations = Directions.SouthWest;
}
else if (xPoint < 0 && yPoint < 0) {
    m_navigations = Directions.NorthWest;
}
else if (xPoint == 0 && yPoint < 0) {
    m_navigations = Directions.North;
}
else if (xPoint == 0 && yPoint > 0) { …
Run Code Online (Sandbox Code Playgroud)

java switch-statement

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

在O(n)中找到输入字符串的最小周期?

鉴于以下问题:

定义:

设S是字母表Σ的字符串. if 是最小字符串S'的最小句点,以便:SS'

S = (S')^k (S'') ,

哪里S''是前缀S.如果不S'存在,则S不是周期性的.

示例:S = abcabcabcabca.然后abcabc是一个时期S = abcabc abcabc a,但最小的时期是abc从那以后S = abc abc abc abc a.

给出一个算法来查找输入字符串的最小周期S或声明S不是周期性的.

提示:你可以做到O(n)......

我的解决方案:我们使用KMP,它在O(n)中运行.

通过问题的定义,S =(S')^ k(S''),那么我认为如果我们在最短的时间内创建一个自动机,并找到找到最短周期的方法,那么我就完成了.

问题是在哪里放置自动机的FAIL箭头......

任何想法将不胜感激,

问候

string algorithm pattern-matching knuth-morris-pratt

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

通过const引用或值传递int,有什么区别?

当我将原语intdouble函数一起传递给函数时,最好是通过const引用或值传递它们(假设我不改变变量的值)?

int getValueFromArray(int index)
{
    // return the value from the array
}


int getValueFromArray(const int& index)
{
    // return the value from the array
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ pass-by-reference pass-by-value

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

AutoResetEvent.Set()有什么作用?

如果我这样做:

private static System.Threading.AutoResetEvent event_2 = new System.Threading.AutoResetEvent(false);
Run Code Online (Sandbox Code Playgroud)

然后在主线程中我做:

event_2.Set();
Run Code Online (Sandbox Code Playgroud)

它改变状态falsetrue

如果是这样,它基本上做到了:

AutoResetEventState = !AutoResetEventState 
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading autoresetevent

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

int(Int32)是.NET中的对象还是原语(不是int?)?

int(aka Int32)是一个对象,还是.NET中的一个原语(我不是在询问int?)?

我在保存的单词上点击F12 int并获得:

public struct Int32 : IComparable, IFormattable, IConvertible, IComparable<int>, IEquatable<int>

{ ... }
Run Code Online (Sandbox Code Playgroud)

它不是从Object继承的,它是否意味着它int是一个原始的?

.net c# int primitive value-type

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

在组{0 ...... 2 ^ k -1}范围内找到缺失的数字

给定一个{0......2^k -1}除了一个数字之外的数字的数组,找到一个找到缺失数字的好算法.

请注意,您只能使用:

  • 对于A[i]返回位的值j.

  • 用A [j]交换A [i].

我的回答:使用分而治之,检查所有数字的位数K,如果K位(现在我们在LSB上)0然后将数字移动到left side,如果该K1然后将数字移动到right side.在第一次迭代之后,我们有两组,其中一组比另一组大,所以我们继续做同样的事情,对于较小的组,我认为我需要检查K-1位这个时间.

但是出于某种原因,我尝试过使用8个数字,从中0.....7删除4(并且说我想要找出4丢失的数字),但算法并没有那么好用.那我的错误在哪里?

arrays algorithm numbers

5
推荐指数
2
解决办法
831
查看次数