2013年9月17日

平面直角坐标系---点坐标与多边形位置判断

摘要: 给定一个平面直角坐标系和一组数据,数据由一系列坐标点组成,形式如:(xi, yi),i = 1, 2, 3……, n; 给定的(xi, yi)可以组成一个封闭的多边形,现在给定一个坐标点(X, Y),请判断该点的位置:返回 1 表示在多边形内部,返回 0 表示在多边形边上,返回 -1 表示在多边形外部。 阅读全文

posted @ 2013-09-17 11:22 大卫david 阅读(1389) 评论(1) 推荐(1) 编辑

2013年9月12日

面试题目“ABCDE × 4 = EDCBA”新解法

摘要: 题目详情:一个五位数字ABCDE*4=EDCBA,这五个数字不重复,请编程求出来.新思路是从逆向的思维来解答问题。 阅读全文

posted @ 2013-09-12 12:24 大卫david 阅读(2818) 评论(8) 推荐(0) 编辑

2013年9月7日

数组排序

摘要: 给定一个包含1-n的数列,我们通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把数组排成按1-n递增的顺序,其中,数组长度不超过100。 阅读全文

posted @ 2013-09-07 22:38 大卫david 阅读(458) 评论(0) 推荐(0) 编辑

2013年9月3日

经典问题----倒水

摘要: 有两个容器,容积分别为A升和B升,有无限多的水,现在需要C升水。 我们还有一个足够大的水缸,足够容纳C升水。起初它是空的,我们只能往水缸里倒入水,而不能倒出。 可以进行的操作是: 把一个容器灌满; 把一个容器清空(容器里剩余的水全部倒掉,或者倒入水缸); 用一个容器的水倒入另外一个容器,直到倒出水的容器空或者倒入水的容器满。 问是否能够通过有限次操作,使得水缸最后恰好有C升水。 阅读全文

posted @ 2013-09-03 23:03 大卫david 阅读(1763) 评论(5) 推荐(0) 编辑

2013年9月2日

POJ1002 487-3279

摘要: POJ上面的一道题目,题目是:企业想拥有令人难忘的电话号码。要一个电话号码让人容易记住,方法之一是号码里面有一个难忘的单词或词组拼写。例如,您可以拨打TUT- GLOP拨打沃特卢大学。有时电话号码只有一部分是单词拼写。当你回到你的酒店,今晚你可以通过拨打310 - GINO吉诺订购比萨饼。另一种方法,设计的电话号码是一个难忘的方式分组数字。你可以通过拨打必胜客" 3个10 "的号码3-10-10-10 来订购比萨. 阅读全文

posted @ 2013-09-02 14:00 大卫david 阅读(645) 评论(1) 推荐(1) 编辑

2013年9月1日

POJ1007 DNA Sorting

摘要: 序列“未排序程度”的一个计算方式是元素乱序的元素对个数。例如:在单词序列“DAABEC'”中,因为D大于右边四个单词,E大于C,所以计算结果为5。这种计算方法称为序列的逆序数。序列“AACEDGG”逆序数为1(E与D)——近似排序,而序列``ZWQM'' 逆序数为6(它是已排序序列的反序)。 你的任务是分类DNA字符串(只有ACGT四个字符)。但是你分类它们的方法不是字典序,而是逆序数,排序程度从好到差。所有字符串长度相同。 阅读全文

posted @ 2013-09-01 21:48 大卫david 阅读(553) 评论(0) 推荐(0) 编辑

2013年8月29日

建立信号基站

摘要: 要建立一个信号基站服务n个村庄,这n个村庄用平面上的n个点表示。假设基站建立的位置在(X,Y),则它对某个村庄(x,y)的距离为max{|X – x|, |Y – y|}, 其中| |表示绝对值,我们的目标是让所有村庄到信号基站的距离和最小。 基站可以建立在任何实数坐标位置上,也可以与某村庄重合。 阅读全文

posted @ 2013-08-29 21:45 大卫david 阅读(1471) 评论(2) 推荐(1) 编辑

2013年8月27日

字符串消除

摘要: 给定一个字符串,仅由a,b,c 3种小写字母组成。当出现连续两个不同的字母时,你可以用另外一个字母替换它,如 有ab或ba连续出现,你把它们替换为字母c; 有ac或ca连续出现时,你可以把它们替换为字母b; 有bc或cb 连续出现时,你可以把它们替换为字母a。 你可以不断反复按照这个规则进行替换,你的目标是使得最终结果所得到的字符串尽可能短,求最终结果的最短长度。输入:字符串。长度不超过200,仅由abc三种小写字母组成。 输出: 按照上述规则不断消除替换,所得到的字符串最短的长度。 例如:输入cab,输出2。因为我们可以把它变为bb或者变为cc。输入bcab,输出1。尽管我们可以把它变为aab -> ac -> b,也可以把它变为bbb,但因为前者长度更短,所以输出1。 函数头部: C/C++ int minLength(const char *s); Java: public class Main { public static int minLength(String s); } 阅读全文

posted @ 2013-08-27 13:24 大卫david 阅读(1362) 评论(20) 推荐(1) 编辑

2013年8月7日

回文字符串

摘要: 回文字符串是指从左到右和从右到左相同的字符串,现给定一个仅由小写字母组成的字符串,你可以把它的字母重新排列,以形成不同的回文字符串。 输入:非空仅由小写字母组成的字符串,长度不超过100; 输出:能组成的所有回文串的个数(因为结果可能非常大,输出对1000000007取余数的结果)。 例如:输入"aabb" 输出为2(因为“aabb”对应的所有回文字符串有2个:abba和baab) 函数头部 c: int palindrome(const char *s); c++ int palindrome(const string &s); java public static int palindrome(String s) ; 阅读全文

posted @ 2013-08-07 16:37 大卫david 阅读(1318) 评论(0) 推荐(1) 编辑

2013年7月26日

C语言的几个有趣问题

摘要: 这是几个C语言的比较有趣的问题,比较适合初学者学习! 阅读全文

posted @ 2013-07-26 12:35 大卫david 阅读(1160) 评论(29) 推荐(1) 编辑

导航