![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
代号1507
这个作者很懒,什么都没留下…
展开
-
求1到n这n个整数的十进制表示中1出现的次数
#include using namespace std; int numberOf1sBetween1andN(int n) { int lowerNum=0; int currentNum=0; int higherNum=0; int iFactor=1; int iCount=0; while(n/iFactor) { lowerNum=n%iFactor; c原创 2013-07-04 19:50:53 · 457 阅读 · 0 评论 -
求n个字符的长度为m的组合
如果输入n个字符,则这n个字符能构成长度为1的组合,长度为2的组合,...,长度为n的组合。 在求n个字符的长度为m的组合地时候,我们把这n个字符分成两部分:第一个字符和其余所有字符; 如果组合里包括第一个字符,则下一步在剩余的字符里选取m-1个字符; 如果组合里不包括第一个字符,则下一步在剩余的n-1个字符里选取m个字符。 /*chapter 4 157*/ #include #in原创 2013-07-04 15:05:34 · 2047 阅读 · 0 评论 -
八皇后问题
8*8的国际象棋上摆放8个皇后, 任意两个皇后不能位于同一行,同一列,或者同一条对角线上。 由于八个皇后任意两个不能位于同一行,那么肯定每一个皇后占据一行。 于是,我们定义一个数据ColumnIndex[8],数组中第i个元素表示第i行的皇后的列号。 先把ColumnIndex的8个数字分别用0~7初始化,接下来对数组ColumnIndex全排列。 因为我们用不同的数字初始化数组,所以任意原创 2013-07-04 16:09:45 · 471 阅读 · 0 评论 -
求数组中的逆序对
#include #define N 7 int cnt=0; void inverse(int a[],int l,int r) { int m=(l+r)>>1; int temp[100]; int i=l,j=m+1,c=l; if(l>=r)return; inverse(a,l,m); inverse(a,m+1,r); while(i<=m||j<=r) {原创 2013-07-04 20:59:12 · 418 阅读 · 0 评论