- 博客(3)
- 收藏
- 关注
原创 算法学习日记--最大公约数问题
问题: 写一个程序,求两个正整数的最大公约数。如果两个正整数都很大,例如:给定两个数1100100210001,120200021,求出其最大的公约数解法一: 直接使用辗转相除法,缺点:辗转相除法的缺点是用到了取模运算。但对于大整数而言,取模运算是非常昂贵的开销。解法二: 直接使用更相减损术:如果一个数能够同属整除x
2015-10-16 19:22:23
470
原创 算法学习日记--寻找数组中的最大值和最小值
问题: 数组是最简单的一种数据结构。我们经常碰到的一个基本问题,就是寻找整个数组中的最大数,或者最小的数。这是我们会扫描一遍数组,把最大(最小)的数找出来。解法: 声明三个栈,分别为Stack、MinStack、MaxStack。Stack用于保存数组,MinStack和MaxStack用于保存最小值和最大值。以最小值为例:如果当前入栈的元素比原来栈
2015-10-16 18:52:55
593
原创 算法学习日记--蚂蚁爬杆
问题: 有一根27厘米的细长杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一个蚂蚁。木杆很细,不能同时通过两只蚂蚁。开始时,蚂蚁的头朝左韩式朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头是,它们会同时调头朝反方向走。假设蚂蚁们每秒可以走一厘米。编写程序,求所有蚂蚁都离开木杆的最短时间和最长时间。解法: 虽然两个蚂
2015-10-16 18:33:27
1001
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人