摘要: 引子:编程之美给出了求N!的二进制最低位1的位置的二种思路,但是呢?但是呢?不信你仔细听我道来。1、编程之美一书给出的解决思路 问题的目标是N!的二进制表示中最低位1的位置。给定一个整数N,求N!二进制表示的最低位1在第几位?例如:给定N = 3,N!= 6,那么N!的二进制表示(1 010)的最低位1在第二位。 为了得到更好的解法,首先要对题目进行一下转化。 首先来看一下一个二进制数除以2的计算过程和结果是怎样的。 把一个二进制数除以2,实际过程如下: 判断最后一个二进制位是否为0,若为0,则将此二进制数右移一位,即为商值(为什么);反之,若为1,则说明这个二进制数是奇... 阅读全文
posted @ 2013-10-01 11:18 小桂子的博客 阅读(1217) 评论(0) 推荐(0) 编辑
摘要: 1、判断链路是否存在回环?(1)回环定义:1-2-3-4-5-6-7 | | ----8如上事例,则表示存在回环。(2)求解思想:说明:使用快慢指针,慢指针每次只前进一步,快指针每次前进两步,直到慢指针遇上快指针。2、贴上代码(1)数据结构定义1#ifndefLINKLIST_H2#defineLINKLIST_H34#defineNULL056typedefstructMyNode7{8intdata;9structMyNode*next;10};1112#endif(2)判断函数isExistLookBackUp(MyNode *node),如果存在就返回true... 阅读全文
posted @ 2013-09-30 19:50 小桂子的博客 阅读(2723) 评论(3) 推荐(2) 编辑
摘要: 判断A数组里面是否存在两个数,俩数的和为X 阅读全文
posted @ 2013-09-29 22:17 小桂子的博客 阅读(368) 评论(3) 推荐(0) 编辑
摘要: 前些日子被叫去创新工场面试,经一番面试,面试知道我工程能力较强,算法比较差,就问了我一个算法题:输出螺旋矩阵。哎,这个题以前做过,有大致的想法,但是战场上就是写不出来。悲剧了,今天知道没戏了。一、定义螺旋矩阵是什么?什么是螺旋矩阵?以n=4为例,其输出结果为: 1 2 3 412 13 14 511 16 15 610 9 8 7 也即, 看了上图,大致知道什么是螺旋矩阵了?二、实现代码 1 int** Matrix(int n) 2 { 3 int** matrix; 4 matrix = new int*[n]; 5 int i =0,j =0... 阅读全文
posted @ 2013-09-29 17:09 小桂子的博客 阅读(571) 评论(0) 推荐(0) 编辑
摘要: WPF中实现控件通用拖放行为 阅读全文
posted @ 2012-12-16 12:19 小桂子的博客 阅读(3536) 评论(0) 推荐(1) 编辑