java算法-数学之美一
巧用数学的思想来解决程序算法问题,这样的代码如诗般优美。通过数学思想来看问题,也能将程序简单化。“斐波那契数列”对于java程序员来说一定不陌生。当然这个问题的解决方案也有很多。用一个例子说明数学思想的优越性。
1
2
3
4
5
6
7
8
9
|
public static int oneMethod() { int a = 1 , b = 0 , c = 0 ; for ( int i = 1 ; i <= 12 ; i++) { c = a + b; a = b; b = c; } return c; } |
1
2
3
4
5
6
7
8
9
|
public static int twoMethod( int index) { if (index <= 0 ) { return 0 ; } if (index == 1 || index == 2 ) { return 1 ; } return twoMethod(index - 1 ) + twoMethod(index - 2 ); } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public static int threeMethod( int index) { if (index <= 0 ) { return 0 ; } if (index == 1 || index == 2 ) { return 1 ; } int [] tuZiArray = new int [index]; tuZiArray[ 0 ] = 1 ; tuZiArray[ 1 ] = 1 ; for ( int i = 2 ; i < tuZiArray.length; i++) { tuZiArray[i] = tuZiArray[i - 1 ] + tuZiArray[i - 2 ]; } return tuZiArray[index - 1 ]; } |
java算法-数学之美一的更多相关文章
- java算法-数学之美二
上一章已经说过利用数学思想来解决程序算法问题,实际上就是找规律.这在我们上学时经常遇到,比如给出一段数字,求某一个位置该填写什么数,只要找到规律那就迎刃而解.好了,废话不多说,再来看看案例分析. ...
- Java算法之“兔子问题”
package wulj; /** * Java算法之“兔子问题”: * 有一只兔子,从出生后第3个月起每个月都生只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多 ...
- 代码规范 & 数学之美读后感
代码规范链接:https://zh-google-styleguide.readthedocs.io/en/latest/contents/ 数学之美读后感 一开始看名字我以为是一本讲数学是怎么发展的 ...
- JAVA算法系列 冒泡排序
java算法系列之排序 手写冒泡 冒泡算是最基础的一个排序算法,简单的可以理解为,每一趟都拿i与i+1进行比较,两个for循环,时间复杂度为 O(n^2),同时本例与选择排序进行了比较,选择排序又叫直 ...
- JAVA算法系列 快速排序
java算法系列之排序 手写快排 首先说一下什么是快排,比冒泡效率要高,快排的基本思路是首先找到一个基准元素,比如数组中最左边的那个位置,作为基准元素key,之后在最左边和最右边设立两个哨兵,i 和 ...
- BloomFilter——读数学之美札记
之前接触过bitmap,读吴军先生的数学之美,看到了一个更强大的数据结构,布隆过滤器(Bloomfilter),赶紧记下来吧,忘了怪可惜的. bitmap的使用是很有局限性的,往往只能用于海量数值型数 ...
- 数学之美 zt
数学是美丽的,哪里有数哪里就有美. 数学的定义是研究数量关系和空间形式的一门科学.但有句名言说:数学比科学大得多,因为它是科学的语言.数学不仅用来写科学,而且可用来写人生.所以说数学是一切学科的基础, ...
- java的数学函数总结
java的数学函数都放在java.lang这个包中,并且这些函数的方法在类Math中是作为static方法出现的,所以要引用一个特定的函数,只需将类Math和一个圆点写在要使用的方法前就好.如方法sq ...
- java算法 蓝桥杯 乘法运算
问题描述 编制一个乘法运算的程序. 从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出. 输入格式 输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99). 输出格式 输出为4行 ...
随机推荐
- 【树莓派】Box相关手册-4 Web代理
在盒子上安装配置web代理,通过此代理,用户访问盒子的内网地址实现web portal访问.目前我们使用tinyproxy作为web代理 安装: >sudo apt-get install ti ...
- 在LoadRunner中进行Base64的编码和解码
<Base64 Encode/Decode for LoadRunner>这篇文章介绍了如何在LoadRunner中对字符串进行Base64的编码和解码: http://ptfrontli ...
- html 接收GET请求参数
function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +" ...
- 2015 ICPC 沈阳站M题
M - Meeting Time Limit:6000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit ...
- malloc、calloc、realloc的区别(转)
(1)C语言跟内存分配方式 <1>从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量.static变量.<2> ...
- 安卓Camera APP
一.Camera package android.hardware 该类用于设定图像捕获设置,开启/关闭预览,抓拍图片以及获取帧用于编码视频.这个类是Camera服务的客户端,用 ...
- remove '^M' in shell script
近期在windows上编辑一些shell脚本后上传到交换机框体上. 但这些shell脚本无法运行,每一行结尾都有'^M',同一时候框体上又没有dos2unix工具. 这么多脚本也不可能一行一行来改动. ...
- 01-hibernate注解:类级别注解准备工作
注解简介: 目的:为了简化繁琐的ORM映射文件(.hbm)的配置. JPA与hibernate的关系 JPA:全称 java Persistence API(java持久化API接口) JPA注解是J ...
- shell脚本中执行mysql 语句,去除warning using a password on the command line interface can be insecure信息
方法二:使用mysql参数的方法 mysql -u$user -p$pass -D $db -e "select host from user;"当然,可以通过将传参的方式来传递 ...
- C#指南,重温基础,展望远方!(5)C#语句
程序操作使用语句进行表示. C# 支持几种不同的语句,其中许多语句是从嵌入语句的角度来定义的. 使用代码块,可以在允许编写一个语句的上下文中编写多个语句. 代码块是由一系列在分隔符 { 和 } 内编写 ...