語句執行頻度

2021-09-24 07:31:17 字數 1346 閱讀 8680

最近看演算法4中遇到的以前沒注意到的問題:

求陣列中三個數和為0的個數threesum

package com.learn.mstake;

/** * @author: shixiaofei

* @description:

* @date: 2019/6/10 16:20

* @version: 1.0

*/public class threesum ;

int count = count(arr);

system.out.println(count);

}public static int count(int a) }}

return cnt;}}

語句執行頻率分別是n、n(n-1)/2、n(n-1)(n-2)/6

①1+2+3+...+n-1

②1+2+3+...n-2

前n項和為n*(n-1)*(n-2)/6

證明:1+2+3+……+n=n(n+1)/2=(n²+n)/2

1²+2²+……n²=n(n+1)(2n+1)/6

所以數列各項加起來就是:

s(n)=(1²+1)/2+(2²+2)/2+(3²+3)/2+……+(n²+n)/2

=[(1²+2²+3²+……+n²)+(1+2+3+……+n)]/2

=[n(n+1)(2n+1)/6+n(n+1)/2]/2

=n(n+1)[(2n+1)/6+1/2]/2

=n(n+1)(n+2)/6

其中n=n-2

附:1²+2²+...+n²

(n+1)^3 - n^3 = 3*n^2 + 3*n + 1,可以得到下列等式:

2^3 - 1^3 = 3*1^2 + 3*1 + 1

3^3 - 2^3 = 3*2^2 + 3*2 + 1

4^3 - 3^3 = 3*3^2 + 3*3 + 1

.........

(n+1)^3 - n^3 = 3.n^2 + 3*n + 1

以上式子相加得到

(n+1)^3 - 1 = 3*sn + 3*n(n+1)/2 + n

其中sn = 1^2 + 2^2 + 3^2 + ...... + n^2

化簡整理得到:

sn = n*(n + 1)*(2n + 1)/6

static int count;

static int count1;

public static void main(string args)

public static void anint(int n) }}

}

輸出結果:

限制sql檔案執行頻率

對於pxc,為了避免流控,可以在匯入.sql檔案時,先對檔案做處理 awk 1 nr 1000 0 sql dba.sql 上面的命令每1000行增加一行select sleep 1 這樣執行頻率是1k s 對於mysqldump產生的sql檔案,則需要在匯出時指定 mysqldump skip e...

這個執行頻率是怎麼算?

讀segmentfault,看到一段有關於演算法分析的 帶著注釋 public class threesum public static void main stringargs 幹的事情就是獲取一組數字然後去找三個和為0的元組數量。想問的是這個執行頻率是怎麼計算的?for int i 0 i 1 ...

mysql 檢視sql的執行頻率

7.1 檢視sql的執行頻率show session global status 實驗一 查詢自本次登陸以來的資料庫操作,主要關心值的獲取mysql show session status like com insert variable name value com insert 0 com in...