最近看演算法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...