小编Imp*_*ter的帖子

找到一对数字,其差别是未排序数组中的输入值'k'

正如标题中所提到的,我想找到差异为K的元素对

example k=4 and a[]={7 ,6 23,19,10,11,9,3,15}
output should be :
   7,11
   7,3
   6,10
   19,23
   15,19
   15,11
Run Code Online (Sandbox Code Playgroud)

我已经读过SO中的先前帖子" 在数组中找到添加给定总和的数字对 "

为了找到有效的解决方案,需要多长时间?时间复杂度O(nlogn)还是O(n)?我试图通过分而治之的技术来做到这一点,但我没有得到退出条件的任何线索......

如果一个有效的解决方案包括使用两个指针对输入数组进行排序和操作元素,那么我认为我应该采用最少的O(nlogn)...

是否有任何数学相关的技术带来解决方案O(n).任何帮助表示赞赏..

c arrays algorithm performance

14
推荐指数
2
解决办法
4890
查看次数

node.js + jade + express:如果路径匹配,如何创建一个将类设置为活动的导航

我已经提出了以下代码,但问题是,每个菜单项都会有重复的锚标记.有更好的方法吗?

                ul.nav
                    - if(menu="Home") 
                        li.active
                            a(href="#") Dashboard
                    else
                        li
                            a(href="#") Dashboard
                    li 
                        a(href="#") About
                    li 
                        a(href="#") Contact
Run Code Online (Sandbox Code Playgroud)

node.js express pug

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

找到数组中的(i,j)对的总数,使得i <j和a [i]> a [j]

如问题所述,需要在数组中找到(i,j)对的总数

(1) **i<j** 
(2) **a[i]>a[j]**
Run Code Online (Sandbox Code Playgroud)

其中i和j是数组的索引.没有空间限制.

我的问题是

 1) Is there any approach which takes less than O(N^2) time?
 2) if so what is least complexity ?
 3) How do we prove that ? 
Run Code Online (Sandbox Code Playgroud)

我希望我对这个问题很清楚.

我的方法如下

解决这个问题的一种方法是使用粗暴的前置,这需要花费O(N ^ 2)的时间.

但我认为应该有一个更好的优化解决方案,至少O(NlogN)溶解这个问题.我直觉的原因如下

直觉 1) For sorting an array in ascending order conditions we have are : for i<j , a[i]<a[j] which is similar to my question . I also read that sorting has lower bound of Omega(n log n) . So my question …

arrays sorting algorithm optimization

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

Android dalvik垃圾收集可能崩溃?

我们正在开发一个针对Android jelly bean的项目.我们的平台是基于arm的,内核版本是3.1.10.在我们的开发过程中,我们发现dalvik中发生应用程序崩溃的可能性很小.基于以下回溯日志,垃圾收集功能期间出现崩溃.在使用addr2line分析pc地址后,我们发现当问题发生时obj-> clazz成为违规地址.

代码流是: (dvmHeapScanMarkedObjects - > processMarkStack-> scanObject - >(IS_CLASS_FLAG_SET(obj-> clazz,CLASS_ISARRAY)))

现在我们被困在这里,无法找到解决问题的方法.所以我们需要更多的建议和帮助.

有谁知道这个问题或如何继续检查它?

回溯日志如下:

F/libc    (  912): Fatal signal 11 (SIGSEGV) at 0x00000025 (code=1), thread 912 (zygote)
I/DEBUG   (  910): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***I/DEBUG   (  910): Revision: '32'
I/DEBUG   (  910): pid: 912, tid: 912, name: zygote  >>> zygote <<<
I/DEBUG   (  910): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000025
I/DEBUG   (  910):     r0 …
Run Code Online (Sandbox Code Playgroud)

android dalvik

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

在KMP算法中发生了转换文本不匹配的推理?

我一直在努力了解KMP算法.我仍然没有清楚地理解kmp算法背后的推理.假设我的文字bacbababaabcbab和模式是abababca.通过使用sub(pattern)与正确后缀相匹配的最长正确前缀的长度规则sub(pattern),我填充了我的table[].

abababca
0 0 1 2 3 4 0 1

现在我开始使用我的模式和表格在文本上应用KMP算法.

在得到上述文本的索引4之后,我们length(l)=5;通过查看table[l-1]=3;根据KMP算法的匹配,我们可以跳过长度最多2个字符并且可以继续.

bacbababaabcbab
---- xx |||
abababca

在这里,我没有得到转变背后的逻辑.我们为什么要转变?有人可以澄清我的困惑吗?

string algorithm pattern-matching

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