相关疑难解决方法(0)

Θ(n)和O(n)之间有什么区别?

有时我看到Θ(n)带有奇怪的Θ符号,中间有一些东西,有时只有O(n).这只是打字的懒惰,因为没有人知道如何输入这个符号,或者它是否意味着不同的东西?

big-o notation time-complexity big-theta

405
推荐指数
8
解决办法
18万
查看次数

如何以最快的方式交叉两个排序的数组?

我有两个巨大的排序数组(每个~100K项).我需要非常快地交叉它们.现在我以标准的方式做到这一点:

  • 如果a [i] <b [j]则i ++
  • 如果a [i]> b [j]那么j ++
  • else:在交集,i ++,j ++中添加[i]

但是完成时间太长(~350微秒),导致整体性能相当差.有没有办法更快地做到这一点?

PS交叉口尺寸不大于1000件(平均而言),我只需要25到100件.

java arrays sorting algorithm merge

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

如何修复VBA中没有响应

如何修复Not RespondingExcel VBA中的错误?

我的代码很完美,没有出现任何错误,但是运行它之后,我将看到NOT RESPONDINGExcel VBA的顶部,并且Excel不再响应。

我正在编写VBA代码以查找两张纸之间的匹配数字:Sheet1持有5000个数字和Sheet2持有4500个数字。当我运行它时,我的代码将其运行10秒钟,然后擅长冻结我,并且没有响应的味精出现在屏幕顶部。

现在,当我仅比较两张纸之间的100个数字时,它的工作正常且没有响应MSG的现象就不会出现,只有当我将10000个数字或数量较大的数字进行比较时,才会出现这种情况。

当我只比较100个数字,但是当我尝试在两张纸之间做更大的数字时,此代码再次正常运行,对我没有响应并出现冻结。...这是我的代码,我尝试过SCREENUPDATE或其他做活动,不要帮助...如果有人帮助我,我将不胜感激。谢谢

     Dim Sheet1rows As Long, Sheet2rows As Long, a as long, j as long
      j = 1
      a = 1
      Sheet1rows = Sheets("Sheet1").UsedRange.Rows.Count + 1
      Sheet2rows = Sheets("Sheet2").UsedRange.Rows.Count + 1

     For i = a To Sheet1rows
       For ii = a To Sheet2rows

    'this one is copying between to sheets

        If Sheets("Sheet1").Cells(i, 1) = Sheets("Sheet2").Cells(ii, 1) Then
         Sheets("Sheet3").Range("A" & j) = Sheets("Sheet1").Cells(i, 1)
        j = …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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