博文视点官方博客http://blog.csdn.net/bvbook

技术凝聚实力 专业创新出版 与向上的心合作 共同成长!

博文视点ID:bvbook
修改头像
250012次访问,排名228好友82人,关注者96
博文视点读者信箱:reader@broadview.com.cn
博文视点投稿信箱:BVtougao@gmail.com
[编辑我的资料]
bvbook的文章
原创 230 篇
翻译 1 篇
转载 26 篇
评论 356 篇
博文视点的公告

参加读者调查,免费获取新书

博文视点,重磅推荐
 
博文视点,PDF最新书目
最近评论
Wer34y:Wer34y
aslong219
wow gold
wow gold
Wer34y
aslong219
wow gold
wow gold
看到书稿的时候为书中的一个个SQL语句所折服,
anxinboyin:《2.8 找符合条件的整数》
中,158页,个人有些优化。
原文的代码清单 2-17,以及上面的一段。

个人的理解:

BigInt[i] = 10 ^ i
或者有 j,使得
BigInt[i] = 10 ^ i + BigInt[j]

所以只需要两个 int 就可以搞定 BigInt[i]。
Azuryy:我得到了一本作者签名的哈
文章分类
收藏
    相册
    北斗星图书
    李锟先生
    图片勘误
    网络用图
    友情链接
    《程序员》杂志
    Dflying Chen @ cnblogs
    InfoQ的霍泰稳
    ITECN博客主编:盆盆
    微软 武汉.NET 俱乐部
    熊力的博客——Windbg专家(RSS)
    移山之道(RSS)
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 《编程之美——微软技术面试心得》勘误表收藏

    新一篇: 也说阅读体验——谈谈《编程之美》的新版式 | 旧一篇: 第二届D2前端技术论坛 SHOW的盛筵

    1.       7页,第2

    原文:不过我们还是不能简单地将n=60000000

    修订:不过我们还是不能简单地将n=960000000

     

    2.       16页,第13

    原文:10100000>>4=00000101

    修订:10100000>>4=00001010

     

    3.       19页,倒数第4

    原文:if(i.a % 3 == i.b%3)

    修订:if(i.a % 3 != i.b%3)

     

    4.       9

    原文:代码清单1-3

    // C# code

    static void MakeUsage(float level)

    {

         PerformanceCounter p = new PerformanceCounter("Processor","% Processor

           Time", "_Total");     

     

         while(true)

         {

              if(p.NextValue() > level)

                   System.Threading.Thread.Sleep(10);

         }

    }

    修订为:

    // C# code

    static void MakeUsage(float level)

    {

         PerformanceCounter p = new PerformanceCounter("Processor",

           "%Processor Time", "_Total");     

     

         if(p==NULL)

         {

              Return;

         }

     

         while(true)

         {

              if(p.NextValue() > level)

                   System.Threading.Thread.Sleep(10);

         }

    }

     

    5.       19页,代码清单1-7

    原文:

    struct {

           unsigned char a:4;

           unsigned char b:4;

    } i;

     

    for(i.a = 1; i.a <= 9; i.a++)

    for(i.b = 1; i.b <= 9; i.b++)

           if(i.a % 3 == i.b % 3)

                         printf(“A = %d, B = %d\n”, i.a, i.b);

     

    修订为:

    struct {

           unsigned char a:4;

           unsigned char b:4;

    } i;

     

    for(i.a = 1; i.a <= 9; i.a++)

        for(i.b = 1; i.b <= 9; i.b++)

           if(i.a % 3!= i.b % 3)

                 printf(“A = %d, B = %d\n”, i.a, i.b);

     

     

    6.       23页,代码清单1-811-15行:

    原文:

           CPrefixSorting()

             {

                       m_nCakeCnt = 0;

                       m_nMaxSwap = 0;

             }

     

    修订为:

    CPrefixSorting()    

         {

              m_nCakeCnt = 0;

              m_nMaxSwap = 0;

         }

     

        ~CPrefixSorting()

        {

              if( m_CakeArray != NULL )

              {

                   delete m_CakeArray; 

              }

              if( m_SwapArray != NULL )

              {

                   delete m_SwapArray; 

              }

              if( m_ReverseCakeArray != NULL )

              {

                   delete m_ReverseCakeArray; 

              }

              if( m_ReverseCakeArraySwap != NULL )

              {

                   delete m_ReverseCakeArraySwap; 

              }

         }

     

    7.       24页,第10

    原文m_nCakeCnt = n;

    修订:m_nCakeCnt = nCakeCnt;

     

     

    8.       24页,第22

    原文:m_SwapArray = new int[m_nMaxSwap];

    修订:m_SwapArray = new int[m_nMaxSwap + 1];

     

    9.       27页,第12

    原文:nEstimate = LowerBound(m_tArr, m_n);

    修订:nEstimate = LowerBound(m_ReverseCakeArray, m_n);

     

    10.   27页,第17

    原文:在到达m_tArr状态之前,我们已经翻转了step

    修订:在到达m_ReverseCakeArray状态之前,我们已经翻转了step

     

    11.   32页,第10~11行(即第4段):

    原文:根据题意,只要是不同卷的书组合起来就能享受折扣,至于具体是哪几卷,并不要求。因此,就可以不用考虑其他可能比如(Y1-1, Y2-1, Y3-1, Y4, Y5-1)。

    修订:根据题意,不同卷的书组合起来才能享受折扣,至于具体是哪几卷,并没有要求。因为(Y1-1, Y2-1, Y3-1, Y4-1, Y5)能够保证在选择当前折扣情况下,剩下的书种类最多,它比其他组合都好。我们不用再考虑其他可能,如(Y1-1, Y2-1, Y3-1, Y4, Y5-1)。

     

    12.   34页,倒数第5

    原文:

    假设这样的分法存在,那么就可以按照小于10情况考虑求解。如果要买的书为(Y1, Y2, Y3, Y4, Y5)(其中Y1>=Y2>=Y3>=Y4>=Y5),贪心策略建议我们买Y5本五卷的,Y4Y5本四卷,Y3-Y4本三卷,Y2-Y3本两卷和Y1-Y2本一卷。由于贪心策略的反例,我们把K本五卷和K本三卷重新组合成2×K本四卷(K = min{Y5, Y3-Y4})。结果就是我们买Y5-K本五卷的,Y4-Y5本四卷Y3-Y4-K本三卷,Y2-Y3本两卷和Y1-Y2本一卷(K = min{Y5, Y3-Y4})。

     

    修订:

    假设这样的分法存在,那么就可以按照小于10情况考虑求解。如果要买的书为(Y1, Y2, Y3, Y4, Y5)(其中Y1>=Y2>=Y3>=Y4>=Y5),贪心策略建议我们买Y5本五卷的,Y4Y5本四卷,Y3-Y4本三卷,Y2-Y3本两卷和Y1-Y2本一卷。由于贪心策略的反例,我们把K本五卷和K本三卷重新组合成2×K本四卷(K = min{Y5, Y3-Y4})。结果就是我们买Y5-K本五卷的,Y4-Y5+2K本四卷Y3-Y4-K本三卷,Y2-Y3本两卷和Y1-Y2本一卷(K = min{Y5, Y3-Y4})。

     

    13.   36页的第5~6行:

    原文:假设有nID,这个解法占用的时间复杂度为ON

    应为:假设有NIDID的取值在0-N-1)之间,这个解法占用的时间复杂度为ON

     

    14.   36页的倒数第8~10行:

    原文:

    具体方法如下:遍历列表,利用变长数组记下每个ID出现的次数,每次遇见一个ID,就向变长数组中增加一个元素;如果这个ID出现的次数为2,那么就从变长数组中删除这个ID,最后变长数组中剩下的ID就是我们想要的结果。

    应为:

    具体方法如下:遍历列表,利用哈希表记下每个ID出现的次数,每次遇见一个ID,就向哈希表中增加一个元素;如果这个ID出现的次数为2,那么就从哈希表中删除这个ID,最后哈希表中剩下的ID就是我们想要的结果。

     

    15. 41页,第6

    原文:最大数量指如果仅买某种饮料的最大可能数量,比如对于第i中饮料Ci=V/Vi

    修订:最大数量指STC存货的上限。

     

    16. 41页,第13

    原文:因此,OptV, n)就是我们要求的值。

    修订:因此,OptV,0)就是我们要求的值

     

    17. 41页,倒数第10

    原文:用OptV', i)表示从第i, i+1, i+2,, n-1, n种饮料中,算出总量为V'的方案中满意度之和的最大值。

    修订:用OptV', i)表示从第i, i+1, i+2,, n-1种饮料中,算出总量为V'的方案中满意度之和的最大值。

     

    18. 41页,倒数第8

    原文:Opt V', i = max { k* Hi + OptV' - Vi * k, i-1}

    修订:Opt V', i = max { k* Hi + OptV' - Vi * k, i+1