[读书笔记]编程之美(三)

《编程之美》——读书笔记 最近花了几天时间把《编程之美》这本书好好读了一遍,感觉收获还是挺大的。 于是决定做个笔记,算是简单的摘录一些书中的精彩思想,也算重新回顾思考下   1.5 快速找出机器故障 问题描述: 有很多的ID(可能位数很大),其中只有一个ID出现的次数小于2,其他正常ID出现的次数都等于2,求这个次数为1的ID 精彩解法: 将所有的数从头到尾异或一遍,这样得出来的最终结果就是所求的答案。 拓 阅读详情

[读书笔记]编程之美(三)

3.1字符串移位包含的问题

  • 问题:给定两个字符串s1和s2,要求判定s2是否能够被s1做循环移位(rotate)得到的字符串包含。例如,给定s1=AABCD和s2=CDAA,返回true;给定s1=ABCD和s2=ACBD,返回false。
  • 思路:str = s1 + s1,判断s2是否在str中。这种要申请新的空间,或者用指针做一个循环两次,这样就不用申请新的空间了。

3.2电话号码对应英语单词

  • 问题:(1)尽可能快地从这些字母组合中找到一个有意义的单词来表述一个电话号码呢?如:可以用单词“computer”来描述号码26678837。
    (2)对于一个电话号码,是否可以用一个单词来代表呢?怎样才是最快的方法呢?
  • 思路:问题一:直接循环法,遍历出所有的单词
while(true)
{
    for(int i = 0; i < TelLength; i++)
        printf("%c", c[number[i]][answer[i]]);
    printf("\n");
    int k = n - 1;
    while(k >= 0)
    {
        if(answer[k] < total[numbeer[k]] - 1)
        {
            answer[k]++;
            break;
        }
        else
        {
            answer[k] = 0;
            k--;
        }
    }
    if(k < 0)
        break;
}

问题二:
解法一:全部计算出来,然后去匹配字典。适用于查询次数较少的情况。
解法二:如果次数较多,直接把字典里面的所有单词都按照这种转换规则转换为数字,并存在文件中,使之成为另一本数字字典。

3.3计算字符串的相似度

  • 问题:对于不同的字符串。对于不同的字符串,我们希望能够有办法判断其相似程度,操作方法使得不同的字符串变得相同,
    1.修改一个字符。2.增加一个字符。3.删除一个字符。计算他们之间的距离。
  • 思路:1、一步操作之后,再将A[2,…,lenA]和B[1,…,lenB]变成相同字符串;
    2、一步操作之后,再将A[1,…,lenA]和B[2,…,lenB]变成相同字符串;
    3、一步操作之后,再将A[2,…,lenA]和B[2,…,lenB]变成相同字符串;
  • 核心代码:
int CalculateStringDistance(string strA, int pABegin, int pAEnd, string strB, int pBBegin, int pBEnd)
{
    if(pABegin > pAEnd)
    {
        if(pBBegin > pAEnd)
            return 0;
        else
            return pBEnd - pBBegin + 1;
    }

    if(pBBegin > pBEnd)
    {
        if(pABegin > pAEnd)
            return 0;
        else
            return pABegin - pABegin + 1;
    }

    if(strA[pABegin] == strB[pBBegin])
    {
        return CalculateStringDistance(strA,pABegin+1,pAEnd,strB,pBBegin+1,pBEnd);
    }
    else
    {
        int t1 = CalculateStringDistance(strA,pABegin,pAEnd,strB,pBBegin+1,pBEnd);
        int t2 = CalculateStringDistance(strA,pABegin+1,pAEnd,strB,pBBegin,pBEnd);
        int t3 = CalculateStringDistance(strA,pABegin+1,pAEnd,strB,pBBegin+1,pBEnd);
        return minValue(t1,t2,t3) + 1;
    }
}

需要注意的是在递归的过程中,有些数据被重复计算了。需要一些保存一些中间变量。

3.4从无头单链表中删除节点

  • 思路:狸喵换太子

3.5最短摘要的生成

  • 问题:假定给定的已经是经过网页分词之后的结果,词语序列数组为W。其中W[0],W[1],…,W[N]为一些已经分好的词语。
    假定用户输入的搜索关键词为数组Q。其中Q[0],Q[1],…,Q[m]为所有输入的搜索关键词。
    这要,生成的最短摘要实际上就是一串相互联系的分词序列。比如从W[i]到W[j],其中,0< i < j <= N。包含了所有的关键字。
  • 分析:两个指针依次相互扫描,依次扫描下去,在w中找到所有包含q的序列,并且维护并找出其中最小的值。
  • 核心代码:
while(true)
{
    //假设包含所有的关键词,并且后面的指针没有越界,往后移动指针
    while(!isAllExisted() && pEnd < nLen)
        pEnd++;
    //假设找到一段包含所有关键词信息的字符串
    while(isAllExisted())
    {
        if(pEnd - pBegin < nTargetLen)
        {
            nTargetLen = pEnd - pBegin;
            nAbstractBegin = pBegin;
            nAbstractEnd = pEnd - 1;
        }
        pBegin++;
    }
    if(pEnd >= N)
        Break;
}

3.6编程判断两个链表是否相交

  • 问题:给两个单向链表的头指针,判断两个链表是否相交,两个链表不带环,要是带环又如何?

  • 1.判断链表1是否有环,并记录其长度L1,尾节点b1(无环),环入口点a1(有环)

  • 2.判断链表2是否有环,并记录其长度L2,尾节点b2(无环),环入口点a2(有环)
  • 3.若一个有环,另一个没环,则判断不相交,结束
  • 4.若两个都没环,则两个尾节点一点是一样的,所以比较两个尾节点是否相同。若不相同则判断不相交,结束;若相同,则到6。
  • 5.若两个都有环,有如下图三种情况:a1与a2不相等,且不在一个环中,则不相交,结束;a1等于a2,跳到6;a1与a2不相等,但在一个环中,对于链表1来说a1是它的相交首节点,对于链表2来说a2是它的相交首节点。
  • 6.对于两个链表重头开始遍历,长链表节点先出发前进(Max(L1,L2)-Min(L1,L2))步,之后两个链表同时前进,每次一步,相遇的第一点即为两个链表相交的第一个点。

3.7队列中去最大值操作问题

  • 问题:假设有这样一个拥有3个操作的队列:
    1.EnQueue(v):将v加入队列中
    2.DeQueue:使队列中的队首元素删除并返回此元素
    3.MaxElement:返回队列中的最大元素(O(1))
  • 思路:
    队列是遵守“先入先出”原则的一种复杂的数据结构。底层的数据结构可以使用数组或者栈来实现。
    解法一:数组或队列,Max时间复杂度O(N)。
    解法二:最大堆来维护队列中的元素,max(O(1)),入队出队O(lgN)
    解法三:这里我们自定义了一个栈,并在其中维护了一个最大值序列,来保证Max操作的时间复杂度为O(1)。然后用这两个栈,形成一个队列。

3.8求二叉树节点的最大距离

  • 问题:如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义“距离”为两个节点之间边的个数。写一个程序求一颗二叉树中相距最远的两个节点之间的距离。
  • 思路:相据最远的两个节点一定是叶子节点。
  • 核心代码:
struct NODE{
    NODE* pLeft;
    NODE* pRight;
    int nMaxLeft;
    int nMaxRight;
    char chValue;
};
int nMaxLen = 0;

void FindMaxLen(NODE* pRoot)
{
    //遍历到叶子节点,返回
    if(pRoot == nullptr)
        return;
    //如果右子树为空,那么该节点的右边最长距离为0
    if(pRoot->pRight == nullptr)
        pRoot->nMaxRight = 0;
    if(pRoot->pLeft == nullptr)
        pRoot->nMaxLeft = 0;
    //如果左子树不为空,递归寻找左子树最长距离
    if(pRoot->pLeft != nullptr)
        FindMaxLen(pRoot->pLeft);
    if(pRoot->pRight != nullptr)
        FindMaxLen(pRoot->pRight);
    //计算左子树最长节点距离
    if(pRoot -> pLeft != nullptr)
    {
        int nTempMax = 0;
        if(pRoot -> pLeft -> nMaxLeft > pRoot -> pLeft -> nMaxRight)
            nTempMax = pRoot -> pLeft -> nMaxLeft;
        else
            nTempMax = pRoot -> pRight -> nMaxRight;
        pRoot -> nMaxLeft = nTempMax + 1;
    }
    //计算右子树最长节点距离
    if(pRoot -> pRight != nullptr)
    {
        int nTempMax = 0;
        if(pRoot -> pRight -> nMaxLeft > pRoot -> pRight -> nMaxRight)
            nTempMax = pRoot -> pRight -> nMaxLeft;
        else
            nTempMax = pRoot -> pRight -> nMaxRight;
        pRoot -> nMaxRight = nTempMax + 1;
    }
    //更新最长距离
    if(pRoot -> nMaxLeft + pRoot -> nMaxRight > nMaxLen)
        nMaxLen = pRoot -> nMaxLeft + pRoot -> nMaxRight;
}

3.9重建二叉树

  • 问题:已经有了前序遍历和中序遍历的结果,希望通过一个算法重建这棵树。
  • 核心代码:
#include <bits/stdc++.h>
using namespace std;

#define TREELEN 6

//树节点
struct NODE{
    NODE* pLeft;
    NODE* pRight;
    char chValue;
}; 

void ReBuild(char* pPreOrder, char* pInOrder, int nTreeLen, NODE** pRoot)
{

    //检查边界条件
    if(pPreOrder == NULL || pInOrder == NULL)
    {
        return;
    }

    //获得前序遍历的第一个节点
    NODE* pTemp = new NODE;
    pTemp -> chValue = *pPreOrder;
    pTemp -> pLeft = NULL;
    pTemp -> pRight = NULL;

    //如果节点为空,把当前节点复制到根节点
    if(*pRoot == NULL)
        *pRoot = pTemp;



    //如果当前树长度为1,那么已经是最后一个节点
    if(nTreeLen == 1)
        return;

    //寻找子树长度
    char* pOrgInorder = pInOrder;
    char* pLeftEnd = pInOrder;
    int nTempLen = 0;

    //找到左子树的结尾
    while(*pPreOrder != *pLeftEnd)
    {
        if(pPreOrder == NULL || pLeftEnd == NULL)
            return;

        nTempLen++;

        //记录临时长度,以免溢出
        if(nTempLen > nTreeLen)
            break;

        pLeftEnd++; 
    }

    //寻找左子树长度
    int nLeftLen = 0;
    nLeftLen = (int)(pLeftEnd - pOrgInorder);
    //寻找右子树长度

    int nRightLen = 0;
    nRightLen = nTreeLen - nLeftLen - 1;

    //重建左子树
    if(nLeftLen > 0) 
        ReBuild(pPreOrder + 1, pInOrder, nLeftLen, &((*pRoot) -> pLeft));

    if(nRightLen > 0)
        ReBuild(pPreOrder + nLeftLen + 1, pInOrder + nLeftLen + 1, nRightLen, &((*pRoot) -> pRight));
}

void InOrder(NODE* root)
{
    if(root == NULL)
        return;
    InOrder(root->pLeft);
    cout<<root->chValue<<endl;
    InOrder(root->pRight);
}

int main()
{
    char pre[TREELEN] = {'a','b','d','c','e','f'};
    char in[TREELEN] = {'d','b','a','e','c','f'};
    NODE* pRoot = NULL;

    ReBuild(pre,in,TREELEN, &pRoot);

    InOrder(pRoot);
}

3.10分层遍历二叉树

  • 问题:给定一颗二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右。
  • 思路:用一个vector存储每一层的节点,从头出一个从尾部加两个。

3.11程序改错

  • 问题:二分查找源码
  • 核心代码:
int bisearch(char** arr, int b, int e, char* v)
{
    int minIndex = b, maxIndex = e, midIndex;
    while(minIndex < maxIndex - 1)
    {
        midIndex =minIndex + (maxIndex - minIndex) / 2;
        if(strcmp(arr[midIndex], v) <= 0)
            minIndex = midIndex;
        else
            maxIndex = midIndex;
    }
    if(!strcmp(arr[maxIndex] , v))
        return maxIndex;
    else if(!strcmp(arr[minIndex] , v))
        return minIndex;
    else
        return -1;
}

4.1金刚坐飞机

  • 问题:金刚插队随意找了一个座位坐了下来(1)其他乘客也随意的坐下,并坚决不让座给其他乘客。
    (2)如果自己的位置已经被别人占了,就随机选择另一个位置坐下。
  • 思路:(1)F(i) = 1/N
    (2)全概率公式

4.2瓷砖覆盖地板

  • 问题:能否用1 * 2的瓷砖去覆盖N * M的地板呢?
  • 思路:斐波那契数列加强版?

4.3买票找零

  • 问题:每张球票为50元,现在有2n人排队,n个人手持50,n个人100,有多少种正确的排队方式?
  • 思路:卡特兰数h(n)=C(2n,n)/(n+1) (n=0,1,2,…)
  • 核心代码:
int validPermutation(int n)  
{  
    long long lDemonitator = 1;  
    for(int i = 1 ; i <= n; i++)  
    {  
        lDemonitator *= i;  
    }  
    long long lMolecule = 1;  
    for(int i = 2*n ; i > n ; i--)  
    {  
        lMolecule *= i;  
    }  
    return (int) (lMolecule/((n+1) * lDemonitator));//合法序列的总个数 = 1/(n+1) Cn 2n  
}  
  • 相似问题:
  • 1.括号化问题。
    矩阵链乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)种)
  • 2.出栈次序问题。
    一个栈(无穷大)的进栈序列为1,2,3,..n,有多少个不同的出栈序列?
    类似:有2n个人排成一行进入剧场。入场费5元。其中只有n个人有一张5元钞票,另外n人只有10元钞票,剧院无其它钞票,问有多少中方法使得只要有10元的人买票,售票处就有5元的钞票找零?(将持5元者到达视作将5元入栈,持10元者到达视作使栈中某5元出栈)
  • 3.将多边行划分为三角形问题。
    将一个凸多边形区域分成三角形区域的方法数?
    类似:一位大城市的律师在她住所以北n个街区和以东n个街区处工作。每天她走2n个街区去上班。如果她
    从不穿越(但可以碰到)从家到办公室的对角线,那么有多少条可能的道路?
    类似:在圆上选择2n个点,将这些点成对连接起来使得所得到的n条线段不相交的方法数?
  • 4.给顶节点组成二叉树的问题。
    给定N个节点,能构成多少种形状不同的二叉树?

4.4点是否在三角形内

  • 问题:二维坐标系,一直三角形定点的坐标,对于坐标系任意一点,判断该点是否在三角形内。
  • 思路:(1)直观的转化为比较三角形的面积。可以利用海伦公式,已知三角形边长为a,b,c,p=(a+b+c)/2。三角形面积为(p-a) * (p-b) * (p-c) * p
    (2)由于三角形是凸的,所以如果有一个点D在三角形ABC内,那么沿着三角形的边界逆时针走,点D一定保持在边界的左边,也就是说点D在边AB、BC、CA左边。
  • 核心代码:
struct point
{
    double x,y;
};
double Product(point A, point B, point C)
{
    return (B.x - A.x) * (C.y - A.y) - (C.x - A.x) * (B.y - A.y);
}
//A,B,C在逆时针方向 如果D在ABC之外,返回false,否则返回true
bool isInTriangle(point A, point B, point C, point D)
{
    if(Product(A, B, D) >= 0 && Product(B,C,D) >= 0 && Product(C,A,D) >= 0)
        return true;
    return false;
}

4.5磁带文件存放优化

  • 问题:假设其中一盘磁带上有n份文件,他们的长度分别为L[0],L[1],…,L[n-1],且访问的概率为P[0],P[1],…,P[n-1]。请问怎样安排它们在磁带上的存储顺序最好?
  • 思路:判断出P[i]/L[i]的值从大到小排列即为最佳存储顺序。

4.6桶中取黑白球

  • 问题:有一个桶,里面有白球、黑球各100个,人们必须按照以下规则把求取出来:
    1、每次从桶中里面拿两个球;
    2、如果是两个同色的球,就再放一个一个黑球; 1 ^ 1 = 0 0 ^ 0 = 0
    3、如果是两个异色的球,就再放一个白球;1 ^ 0 = 1
    问:最后桶里面只剩下一个黑球的概率是多少?
  • 思路:由异或运算满足结合律可知,取球的过程相当于把里面所有的球 进行抑或操作。

4.7蚂蚁爬杆

  • 问题:有一根木杆27厘米,在3、7、23厘米这几个位置各有一只蚂蚁。木杆很细,不能同时通过两只蚂蚁。开始时,蚂蚁的头朝左、右是任意的,他们只会朝前走或掉头,不会后退,。当两只蚂蚁碰头的时候,他们会同时掉头朝相反的方向走。
  • 思路:题目有陷阱,两只蚂蚁碰头,不会发生任何事。这样,程序只需遍历所有蚂蚁,把每个蚂蚁走出木杆的最长时间,最短时间分别求出来。

4.8三角形测试用例

略

4.9数独

  • 问题:一共有多少种不同的数独解答呢?其中有多少种是独立的解答呢?如果我们要用一个简单的字符串来表示各种数独。如何在保证一一对应的基础上,让字符串的长度最短?
  • 思路:这种题,明确问题是什么,不要着急一开始就做题。“独立“是什么意思,也不一定要求出最精确的答案,重要的是分析的过程。

4.10数字哑谜和回文

  • 问题:(1)神奇的9位数。能不能找出符合如下条件的9位数:
    这个数字包括了1~9这9个数字;这9位数的前n位都能被n整除,若这个数表示为abcdefghi,则ab可以被2整除,abc可以被3整除…abcdefghi可以被9整除。
    (2)有这样一个乘法算式:人过大佛寺 * 我 = 寺佛大过人
  • 思路:举例,有规律的举例。对于问题1,我们把”整除“的条件列出来。对于问题二、我、不会超过5

4.11扫雷游戏的概率

nullAnull
null1null
nullBnull
null2null
nullCnull

- 问题一:当这个游戏有40个地雷没有被发现的时候,A、B、C三个方块有地雷的概率(P(A),P(B),P(C))各是多少?
- 问题二:这个游戏局面一共有16*16 = 256个方块,P(A),P(B),P(C)的相互大小关系和当前局面中地雷的总数有联系么?比如,当地雷总数从10个逐渐变化到240个,P(A),P(B),P(C)的三条曲线是如何变化的?他们会不会相交。
- 思路:为什么这一次的概率会和总雷数相关呢?问题就在于中间的方块中的雷数不确定。按照这个思路,题目中的问题就迎刃而解了。

此题适合用MATLAB解答是因为要求作出概率曲线. 如果地雷总数一定, 其实手算也很容易. 根据数字1和2的提示, 图示3×5方格中至少2个地雷, 至多3个地雷. 记为扫雷游戏中格子总数, 为地雷总数. 分两种情况考虑.

图中共2个地雷时可能的情况总数: .
A处为地雷的情况总数: .
B处为地雷的情况总数: .
C处为地雷的情况总数: .
图中共3个地雷时可能的情况总数: .
A处为地雷的情况总数: .
B处为地雷的情况总数: .
C处为地雷的情况总数: .
要求的概率可以简单地相除得到:
金刚坐飞机问题(微软) 向您详细介绍微软测试题,相信您一定会有所收获。 立即下载

相关推荐

LiblibAI新手教程:从零开始训练你的第一个LoRA模型(保姆级指南)

本文提供LiblibAI平台上从零开始训练LoRA模型的保姆级教程,涵盖数据准备、参数优化到效果调优全流程。详细解析LoRA技术优势,包括云端计算资源、自动化预处理工具等,帮助新手快速掌握自定义模型训练技巧,实现高效AI绘画创作。

dell8的博客 617

编程之美—4数学之趣

这一章的内容不需要写具体程序的数学问题,重点是锻炼数学分析的能力。 1、金刚坐飞机问题 金刚随机找了飞机上的一个座坐,出现了以下两种情况: * 其它乘客都随机坐 * 其他乘客按照自己的位置坐,座位被占了的乘客随机选择位置坐 针对这两种情况,求第i个乘客做到自己原位置的概率分别是多少? 第一种情况:相当于所有人都打乱排序,共有n!种坐法,第i个乘客坐对,则其余乘客随机排,有(n-

moonboat0331的专栏 1375

Flutter for web 首次加载过慢问题优化

Flutter web 加载慢优化

Bright_TY的专栏 7834

puzzle(0522)金刚坐飞机问题

金刚坐飞机问题

nameofcsdn的博客 3387

SolidWorks 2022 学习(一)软件安装

接下来是安装SolidWorks,右键SolidWorks.2022.SP0.Premium.DVD.iso,选择装载。然后以管理员身份运行SolidWorks_Flexnet_Server目录下的server_install.bat。更改需要安装的产品,以及安装路径,并勾选接受条款,点击现在安装,会弹出如下窗口。然后以管理员身份运行setup.exe,开始安装solidworks。下载链接会在文章末尾给出,下载完成的文件如下图所示。双击注册表文件,然后点击确定。保持不动,点击确定,开始安装。

qq_38383364的博客 3123

python cartopy绘制扇形区域图/cartopy绘制北极部分区域

实际上,这个问题原因还是由于投影转换的问题,在set_extend时,绘制的上下边界仍然是方形、未被正确投影的边界,与我们的set_boundary存在冲突,最根本的原因还是在于cartopy对于投影计算的一些缺陷。另外我们需要指出的是:**该方法不适用于极地投影,即NorthPolarStereo,由于NorthPolarStereo本身投影特性只需一个参数,本身并不适合。我们绘制极地投影时,同样也是使用set_boundary绘制圆形边界,那么当我们想要绘制扇形时,可以通过。请根据喜好自行选择,

weixin_43750300的博客 3212

金刚坐飞机问题

金刚坐飞机问题

仲翎逸仙 1067

Unity游戏开发:从零开始适配Nintendo Switch的完整指南

本文详细介绍了如何使用Unity进行Nintendo Switch游戏开发的完整流程,包括开发环境搭建、Unity工程适配、手柄与硬件特性开发、存储与性能优化等关键步骤。特别强调了Switch SDK的配置、输入系统改造和内存优化技巧,帮助开发者高效完成跨平台适配。

vodka的博客 1066

编程之美:第四章 数字之趣 4.1金刚坐飞机问题

/* 金刚坐飞机问题: 现在有一班飞机要起飞,乘客们正准备按机票号码(1,2,3,...,N)依次排队登记,突然来了一只大猩猩。它也有飞机票,但是他插队第一个登上了飞机, 然后随意地选择了一个座位坐下了。乘客有两种反应 1其他乘客也随意坐 2如果自己位置没有被占就坐下,否则随机选择另一个位置 这两种情况下,第i个乘客(除去金刚之外)做到自己原机票位置的概率是多少。 1问题1的解法: F(i)

qingyuanluofeng的专栏 804

一周一个Unity小游戏2D反弹球游戏 - 球反弹的方向

本文将实现当球在球板上反弹时,会根据球板移动的方向来给球施加反弹的力,例如当球板往左移动时反弹球,则球应向左上方反弹,若球板往右移动时反弹球,则球应向右上方反弹。

Giver的博客 751

Altium Designer(AD)仿真实验操作指南

1:运行仿真2:设置仿真3:放置电源模块4:放置器件模块5:探针。

XU157303764的博客 8888

《编程之美》读书笔记(三):烙饼问题与搜索树

 《编程之美》读书笔记三:烙饼问题与搜索树薛笛 EMail:jxuedi#gmail.com前面已经写了一些关于烙饼问题的简单分析,但因为那天太累有些意犹未尽,今天再充实一些内容那这个问题研究透。我想,通过这篇文章,我们就可以把这一类问题搞懂。再遇到优化问题,如果我们想不到别的办法,就可以采用搜索树算法来解决,至少我们不至于拿不出解决方案。前面我们已经知道,关于一摞烙饼的排序问题我们可

薛笛的专栏 8229

振动分析-46-设备振动监测和故障诊断能力提升需要理解和掌握的知识体系

提升振动分析能力对于确保机械设备的高效运行和预防故障至关重要。

qq_20466211的博客 664

《Java并发编程之美》读书笔记三【LockSupport】

文章目录一、 LockSupport1、void park()2、void unpark(Thread thread)3、void parkNanos(long nanos)4、void park(Object blocker) 一、 LockSupport LockSupport 位于rt.jar 包里面,本身是个工具类,主要作用是挂起和唤醒线程。该工具类是创建锁和其他同步类的基础。 Lo...

YangzaiLeHeHe的博客 311

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

《编程之美》读书笔记(三): 一摞烙饼的排序问题

作者:薛笛(原博客地址:http://blog.youkuaiyun.com/kabini/archive/2008/04/10/2276723.aspx) 早在一年前,当时我的一个很牛的胖师兄受邀参加Google中国的面试,一开始问他考什么问题他就用签了保密协议打发我们。但当最后他得知无缘 Google的时候,终于打开话匣子,跟我们这些小字辈滔滔不绝地传授了一些“面经”。我记得其中就有一道题就是这个...

weixin_30418341的博客 123

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

《编程之美》读书笔记(三)——阶乘结果末尾"0"的个数

对于第一个问题,我起初的思路如下:      能贡献末尾“0”的数有两类,一类是自身以“0”结尾,例如,10,560,1000等,另一类是个位数是2和5相乘得到。因为是阶乘,从1到N,所以对于每个个位为5的数,总能找到一个其他位相同个位为2的数与之匹配。所以,只需要去数[1,N]中以“0”结尾的数总共多少个“0”,再加上N/10+(N%10      从1到N,出现“0”结尾次数为N/10;出

记录、分享 858

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

编程之美读书笔记——目录

      最初看《编程之美》时,总觉得有些解法与自己的最初想法差得太多,于是就有了将自己的想法记下来的冲动。三个月下来,也才弄了十几篇,这些笔记都发给了该书的编辑。静下心来,翻翻自己所做的笔记,总觉得写得很杂乱,有不少错处,现将这些笔记贴出来,希望能得到大家的指正。   目录: 编程之美读书笔记_1.2_中国象棋将帅问题 编程之美读书笔记_1.3 一摞烙饼的排序 编程

flyinghearts的专栏 3341

[读书笔记]编程之美(一)

[读书笔记]编程之美(一)不得不说编程之美是一本很有意思的书,里面的各式各样新奇的问题,总是可以通过课上讲的简单的问题来解决,对于训练自己的思维的确有很大的好处。一般解决复杂的问题,我们总是可以通过:1、画图:链表、二叉树,2、举例,3、分解:分治法、动态规划来解决。游戏 程序也是游戏的一种1.1让CPU占用率曲线听你指挥 题目:用户决定CPU的占有率 思路:(举例)首先我们要明确什么是CPU的占有

xy_cpp的博客 1万+

《编程之美》读书笔记

《编程之美》读书笔记(一):中国象棋将帅问题  (http://www.cnblogs.com/bvbook/archive/2008/07/24/1250507.html)  《编程之美》读书笔记(二):“求二进制数中1的个数”扩展问题  (http://www.cnblogs.com/bvbook/archive/2008/07/24/1250535.html)  《编程之美》读书笔记

llw01的专栏 998

《编程之美》读书笔记集锦

《编程之美》读书笔记(一):中国象棋将帅问题 http://www.cnblogs.com/bvbook/archive/2008/07/24/1250507.html《编程之美》读书笔记(二):“求二进制数中1的个数”扩展问题 http://www.cnblogs.com/bvbook/archive/2008/07/24/1250535.html《编程之美》读书笔记(三): 一摞烙

linxhpku的专栏 692

编程之美读书笔记 汇总

(1)编程之美读书笔记(1)二进制数中1的个数 (2)编程之美读书笔记(2)大数问题(高精度运算) (3)编程之美读书笔记(3) 统计在从1到n的正整数中1出现的次数 (4)编程之美读书笔记(4)寻找最大的K个数 (5)编程之美读书笔记(5)最大公约数

落日小屋 1974
上一篇: 京东2018实习C++笔试编程题
下一篇: 给出n求1/n=1/x+1/y(n,x,y=1,2,3...)的解的个数,
xy_cpp
博客等级 码龄10年 119粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值