摘要:
引子:编程之美给出了求N!的二进制最低位1的位置的二种思路,但是呢?但是呢?不信你仔细听我道来。1、编程之美一书给出的解决思路 问题的目标是N!的二进制表示中最低位1的位置。给定一个整数N,求N!二进制表示的最低位1在第几位?例如:给定N = 3,N!= 6,那么N!的二进制表示(1 010)的最低位1在第二位。 为了得到更好的解法,首先要对题目进行一下转化。 首先来看一下一个二进制数除以2的计算过程和结果是怎样的。 把一个二进制数除以2,实际过程如下: 判断最后一个二进制位是否为0,若为0,则将此二进制数右移一位,即为商值(为什么);反之,若为1,则说明这个二进制数是奇... 阅读全文
摘要:
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... 阅读全文
摘要:
判断A数组里面是否存在两个数,俩数的和为X 阅读全文
摘要:
前些日子被叫去创新工场面试,经一番面试,面试知道我工程能力较强,算法比较差,就问了我一个算法题:输出螺旋矩阵。哎,这个题以前做过,有大致的想法,但是战场上就是写不出来。悲剧了,今天知道没戏了。一、定义螺旋矩阵是什么?什么是螺旋矩阵?以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... 阅读全文
摘要:
WPF中实现控件通用拖放行为 阅读全文