Xiangism

从一个无知角落里开始,蹒跚学步,一个未知到另一个未知,在跌跌撞撞中越走越快,越走越远,最后宇宙也为之开源。对于探索者来说,最后他们的思想总是变得和自己的足迹一样伟大。
随笔 - 62, 文章 - 1, 评论 - 220, 阅读 - 20万
  博客园  :: 首页  :: 联系 :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  纯粹的算法

与领域问题无关的算法
摘要:最近重新开始玩数独,准备写一个自动求解数独的程序。 在此记录一些经典的case,以便以后整合使用 1 a. 紫色的两组2、7,可以将同列下面的两2都消除 b. 黑色的两组4、6,接合下面的2、4,2、6,可以判断出左边是6,右边是4。如果左边是4,右边是6,那么下面的宫中就得同时有两个2了。 备注 阅读全文

posted @ 2022-01-05 09:22 Xiangism 阅读(66) 评论(0) 推荐(0) 编辑

摘要:本人是极限挑战的粉丝,最近看了大电影《极限挑战之皇家宝藏》,对最后一关四杯酒问题有自己的见解. 最后一关,只剩王勃和孙红雷二人.他们面前有四杯酒,其中三杯毒酒,一杯无毒. 白衣人黑衣人其中一个一定说真话,另一个一定说假话,但不知道谁真谁假. 勃雷两人分别可以对白衣人黑衣人问一个问题(也就是总共可以问 阅读全文

posted @ 2017-07-18 16:23 Xiangism 阅读(1101) 评论(3) 推荐(1) 编辑

摘要:很久之前就听到的这个面试题,现在一直记忆犹新。有个店主有1000个苹果,有10个框。一会要来一个特殊的顾客,他说出一个需要的苹果数,然后店主不需要重新装苹果,只需要将特定的几个框给顾客即可满足他要的苹果数。问,店主事先应该如何将1000个苹果放到10个框里才能满足顾客提出的一次要求?(当然顾客说的苹... 阅读全文

posted @ 2015-07-03 22:31 Xiangism 阅读(1847) 评论(1) 推荐(1) 编辑

摘要:最近在看了大学算法的教程后,深深地理解到了递归算法在某些情况下的局限性,于是就想到了两年前自己做的汉斯塔的项目中的递归算法。能否将其变成循环算法呢?为了简化,我是在VC++的控制台下来完成这个算法。为了让程序更加清晰,定义了两个类Peg(柱子类),Disk(盘子类),当然内容就简化多了。类图如下:P... 阅读全文

posted @ 2010-05-02 18:34 Xiangism 阅读(1602) 评论(6) 推荐(0) 编辑

摘要:自己先后分别在《编程之美——微软面试心得》和《编程珠玑》中看到了这样的一个经典的例子:在线性时间内求向量的任何连续子向量中的最大和。本来是O(n3)的算法,经过一步步的改进后,最终得到了O(n)的算法,这个思维的过程实在是令人叹服。这看完后个例子后,试问了下自己,如果在没有任何提示的前提下,让自己想... 阅读全文

posted @ 2010-04-30 12:18 Xiangism 阅读(657) 评论(2) 推荐(0) 编辑

摘要:“中国象棋将帅问题”这一小节中,最后给出这样一段代码——[代码]自己觉得这段代码用结构体封装了两个变量,这样做只能算是小聪明。不过,自己从这种做法中得到启发,可以用一个int变量的十位和个位来“封装”两个变量,具体的代码实现如下——[代码]不过,这种做法和文中给出的一段代码有点相似了[代码] 阅读全文

posted @ 2009-09-26 00:04 Xiangism 阅读(391) 评论(0) 推荐(0) 编辑

摘要:前几天用递归的方法实现了——从数组中返回所有指定长度的子数组。http://www.cnblogs.com/xiangism/archive/2009/09/06/1561398.html后来在看《编程之美》中的一篇文章——《求二进制数中1的个数》时想到另一种比较好的方法,就是用二进制数来实现。比如要从{1,2,3,4,5}中提取所有长度为2的数组(不考虑顺序),可以先用排列的知识算出子数组有多少个,比如这题C25=10个,然后再访问所有从0到9之间的数,当然是用二进制的形式来访问,如果这个二进制数中1的个数为2,那么就在原数组中按照这两个1的位置来取值,从来可以得到一个子数组。那么在遍历所有 阅读全文

posted @ 2009-09-15 21:54 Xiangism 阅读(572) 评论(0) 推荐(0) 编辑

摘要:自己在一个搜索程序中遇到了这样一个问题:怎么从数组(集合)中返回指定长度的子数组(集合)。比如数组{1,2,3,4},现在要返回所有长度为n=2的子数组,即{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}。如果这个n在写代码时就确定,那就用n层循环可以很简单的实现。但是,关键在于n是在程序运行时才知道的,这样就不能只能用循环了。想了几天后,才完全实现了这个功能。CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1usingS 阅读全文

posted @ 2009-09-06 19:05 Xiangism 阅读(1322) 评论(1) 推荐(2) 编辑

点击右上角即可分享
微信分享提示