摘要:
2.7 最大公约数问题 基础问题:写一个程序,求取两个正整数的最大公约数。如果两个正整数都很大,有什么简单的算法么? 解法: 解法1 : 欧几里得的辗转相除法,\(f(42,30) = f(30,12) = f(12,6) = f(6,0) = 6\) 解法2 : 将欧几里得中的除法转换成为减法,\ 阅读全文
摘要:
3.6 编程判断两个链表是否相交 基本问题:给出两个单向链表的头指针,比如h1,h2,判断这两个链表是否相交。这里为了简化问题,我们假设两个链表均不带有环。 解法: 解法1 : 直观的想法,暴力枚举。 解法2 : 采用计数的方法,将链表1的所有节点的hashcode放在一个hashset集合中,ha 阅读全文
摘要:
2.10 寻找数组中的最大值与最小值 基本问题:对于一个由N个整数组成的数组,需要比较多少次才能将最大的和最小的数找出来呢? 解法1 :比较2n次,对数组中的所有元素进行遍历,一次比较,更新最大值与最小值, 解法2 : 一般情况下,最大的数和最小的数不会是同一个数。我们先把数据分成两个部分,再从这两 阅读全文