欢迎交流

  1.1.26

public class TestApp {
public static void main(String[] args) { int a = StdIn.readInt();
int b = StdIn.readInt();
int c = StdIn.readInt();
int t; if( a > b) {
t = a;
a = b;
b = t;
} if( a > c) {
t = a;
a = c;
c = t;
} if( b > c) {
t = b;
b = c;
c = t;
} StdOut.println(a + "->" + b + "->" + c);
}
}

   1.1.27

public class Binomial {
/**
* 递归方式的二项分布
* @param N 总次数
* @param k 出现次数
* @param p 每次出现概率
* @return
*/
public static double binomial1(int N, int k, double p) {
if(N == 0 && k == 0)
return 1.0;
if(N < 0 || k < 0)
return 0.0;
return (1.0 - p) * binomial1(N - 1, k, p) + p * binomial1(N - 1, k - 1, p);
} public static double binomial2(int N, int k, double p) {
double[][] b = new double[N + 1][N + 1];
// base
for(int i = 0; i <= N; i++) {
b[i][0] = Math.pow(1.0 - p, i);
}
b[0][0] = 1.0;
// recursive
for(int i = 1; i <= N; i++) {
for(int j = 1; j <=k; j++) {
b[i][j] = p * b[i - 1][j - 1] + (1.0 - p) * b[i - 1][j];
}
}
return b[N][k];
} public static void main(String[] args) {
int N = 100;
int k = 50;
double p = 0.76;
StdOut.println(binomial1(N, k, p));
StdOut.println(binomial2(N, k, p));
}
}

  1.1.28

  想不出与BinarySearch有关的去重方法。

  1.1.29

// returns the number of elements that are smaller than the key
public static int rank(int key, int[] a) {
int lo = 0;
int hi = a.length - 1;
while(lo <= hi) {
int mid = (lo + hi) / 2;
if(key < a[mid])
hi = mid - 1;
else if(key > a[mid])
lo = mid + 1;
else {
while(a[mid - 1] == key) {
mid -= 1;
}
return mid;
}
}
return -1;
} // returns the number of elements equal to the key
public static int count(int key, int[] a) {
int lo = 0;
int hi = a.length - 1;
while(lo <= hi) {
int mid = (lo + hi) / 2;
if(key < a[mid])
hi = mid - 1;
else if(key > a[mid])
lo = mid + 1;
else {
lo = mid;
hi = mid;
while(a[lo - 1] == key) {
lo -= 1;
}
while(a[hi + 1] == key) {
hi += 1;
}
return hi - lo + 1;
}
}
return 0;
}

最新文章

  1. worldwind一些资料
  2. Git管理项目实例说明-记录和跟踪项目
  3. Ubuntu 安装 Xfce4 桌面
  4. An Example of On-Error Trigger in Oracle Forms
  5. windows上配置git
  6. 【转载】linux命令行计算器bc的一个“坑”
  7. qt下的跨目录多工程编译
  8. MTK6572横屏的调试过程
  9. RSA----实际函数库选择
  10. 4.Redis常用命令:List
  11. Problem B
  12. Java多线程学习开发笔记
  13. IDLE打开Python报错 api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案
  14. 【DevExpress】GridView的RowClick事件禁用Checkbox选择的解决办法
  15. STLINK V2安装使用详解
  16. SpringBoot之profile的使用
  17. ArcGIS js api 手动构建FeatureLayer
  18. ZOJ2405 Specialized Four-Digit Numbers 2017-04-18 20:43 44人阅读 评论(0) 收藏
  19. [Openwrt 项目开发笔记]:DDNS设置(五)
  20. 用可道云kodexplorer在dedecms系统网站上秒建私人网盘

热门文章

  1. JqueryUI-1
  2. 第001篇——C#学习计划开启
  3. c# 委托内部构造
  4. 搭建SSH环境之添加所需jar包
  5. 关于Apache+PHP+MySQL的安装
  6. linux中断--进程上下文和中断上下文
  7. mysql 存在该记录则更新,不存在则插入记录的sql
  8. UIALertView与UIAlertViewDelegate的基本用法
  9. NetworkManager——Linux强大的网络管理工具
  10. mac下配置java环境