关闭

寻找最近点对

问题:给定平面上N个点的坐标,找出距离最近的两个点。 解法一.蛮力法(两两之间的差值都求出来)时间复杂度O(N*N) 解法二:一维情况下排序求解时间复杂度O(N*logN) 解法三:分治思想,用于一般的情况    思想如下:(1)根据水平方向的坐标把平面上的N个点分成两个部分Left和Right                    (2)由Min(lfet,ri...
阅读(128) 评论(0)

找到符合条件的整数

问题:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0.    解法一.一般正向思维  解法二.逆向思维:已知结果求条件 代码实现如下: // 初始化 for(i = 0; i < N; i++) BigInt[i].clear(); BigInt[1].push_back(0); ...
阅读(87) 评论(0)

求最大公约数

问题:求两个正整数的最大公约数。(假设两个正整数很大) 解法一.辗转相除法 Bigint gcd(Bigint x ,Bigint y) { return(!y) ? x: gcd(y,x%y); } 解法二. 移位操作加减法操作 Bigint gdc(Bigint x,Bigint y) { if(x<y) return gcd(y,x); if(y==0) re...
阅读(96) 评论(0)

不要被阶乘吓到

一.阶乘是个很有意思的函数,大体的解法有这些: package com.threetop.www; //求解阶乘的方法 public class Jiechen { //方法一:递归的解法 public static int fac(int n) { int sum; if(n==0||n==1) { return 1; } s...
阅读(116) 评论(0)

第一章 游戏之乐 构造数独

数独是一个历史悠久的,又特别流行的数学智力游戏,它不仅具有强烈的趣味性,而且也锻炼我们的逻辑思维能力,本人在“最强大脑”节目中也看到了这个项目。数独游戏“棋盘”是由九九八十一个小方格组成,玩家要求: 玩家在每一个方格中,分别填上1至9的任意一个数字,让整个棋盘每一列,每一行,以及每一个3*3的小矩阵中的数字都不重复. 解法一:随机生成一个完整的合法解,然后去掉一些格子中的数字。我们删除...
阅读(205) 评论(0)

编程之美---数字之魅

最近上算法课程老师要求我们阅读>这本书,我从中找出来两个简单的问题,论述解决的高效算法: 一.求二进制数中1的个数     (1)各种实现办法代码如下:     /** * 计算一个byte中 1的个数 * @author ZC * */ public class A1 { //方法一 除以二操作 public static int count(int i) { ...
阅读(875) 评论(0)

第一章 游戏之乐 快速找出机器故障

题目:假设一个机器只存储一个标号为ID的记录,假设每份数据保存2个备份,这样就有2个机器存储了相同的数据。其中ID是一个整数: 问题1、在某个时间,如果得到一个数据文件ID的列表。是否能够快速的找到这个表中仅出现一次的ID?即快速找出出现故障的机器存储的数据ID。 问题2、如果有两台机器死机呢?(假设同一个数据的两个个备份不会同时丢失,即列表中缺少的是两个不等的ID) 解法一...
阅读(134) 评论(0)

第一章 游戏之乐 买书问题

一.问题       上柜的《哈利波特》平装本系列,一共有五卷。假设每一卷单独销售均需8欧元。如果读者一次购买不同的两卷,就可以扣除5%的费用,三卷则更多。假设具体折扣的情况如下:         本数    2       折扣   5%         本数    3       折扣  10%         本数    4       折扣  20%     ...
阅读(119) 评论(0)

第一章 游戏之乐 一摞饼的排序

要求:大的在下面,小的在上面,输出颠倒过程 /****************************************************************/ // // 烙饼排序实现 // /****************************************************************/ class CPrefixSor...
阅读(103) 评论(0)

第一章 游戏之乐 中国象棋将帅问题

要求只用一个变量实现一个将与帅的位置情况显示: 解法一:普遍的思维 #define HALF_BITS_LENGTH 4 // 这个值是记忆存储单元长度的一半,在这道题里是4bit #define FULLMASK 255 // 这个数字表示一个全部bit的mask,在二进制表示中,它是11111111。 #define LMASK (FULLMASK // 这个宏表示...
阅读(151) 评论(0)

第1章 游戏之乐 让cpu 占用率曲线听你的指挥

1.1让cpu 占用率曲线听你的指挥: 解法一:代码清单1-1 int main() {     for(; ;      {     //CPU 一秒执行的次数         for(int i = 0; i              ;         Sleep(10);      }      return 0; } 解法二:代码清单...
阅读(97) 评论(0)
    个人资料
    • 访问:107767次
    • 积分:4313
    • 等级:
    • 排名:第7046名
    • 原创:206篇
    • 转载:135篇
    • 译文:107篇
    • 评论:30条
    最新评论