主题:[转帖]《编程之美——微软技术面试心得》第二刷勘误
1. 第 80 页,第2行
原文: a – b = 1
改为: b – a = 1
2. 第133页,第1行
原文:f(10n-1)=n*10n-1
改为:f(10n-1)=n*10n-1
3. 第147页,第7行
原文:f(x,y)=f(y, y%x) (y>0)
改为:f(x,y)=f(y, x%y) (x≥y>0)
4. 第153页,第5行
原文:再引入一个变量j, j=X%N
改为:再引入一个变量J, J=X%N
5. 第227页,代码清单3-8中的第6行
原文: int nAbstractBegin = 0; //目标摘要的结束地址
改为: int nAbstractEnd = 0; //目标摘要的结束地址
6. 第288页,代码清单4-3中的倒数第6行
原文: if (Min currentMin)
改为: if (Min > currentMin)
》》》》》》》》勘误补充》》》》》》》》
7. 第221页,代码清单3-6倒数第9行(感谢:网友Azuryy )
原文:
int t1 = CalculateStringDistance(strA, pABegin, pAEnd, strB,
pBBegin + 1, pBEnd);
int t1 = CalculateStringDistance(strA, pABegin + 1, pAEnd,
strB,pBBegin, pBEnd);
int t1 = CalculateStringDistance(strA, pABegin + 1, pAEnd,
strB,pBBegin + 1, pBEnd);
return minValue(t1,t2,t3) + 1;
改为:
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;
8. 第253页,代码清单3-16倒数第10行(感谢:网友Azuryy )
原文:
If (!vec[cur] -> lchild) //当前访问节点的左节点不为空则压入
vec.push_back(ver[cur] -> lchild);
If (!vec[cur] -> rchild) //当前访问节点的右节点不为空则压入
//注意左右节点的访问顺序不能颠倒
改为:
If (vec[cur] -> lchild) //当前访问节点的左节点不为空则压入
vec.push_back(ver[cur] -> lchild);
If (vec[cur] -> rchild) //当前访问节点的右节点不为空则压入
//注意左右节点的访问顺序不能颠倒
9. 第103页,代码清单1-27(感谢:网友jinlingmin0624)
原文: S[i] U = Fork(f(i),f(i - x));
改为: S[i] U = Fork(f(x),f(i - x));
10. 第106页,第4行(感谢:网友jinlingmin0624)
原文:BlockSets[7][4][4][4]
改为:BlockSets[7][4]
11. 第107页,倒数第2行(感谢:网友jinlingmin0624)
原文:积木块将下落到的高度为(N-3, N-5-1)=N-6
说明:标红处的减号有问题,与其他几个减号不一致
12. 第107页,最后一行(感谢:网友jinlingmin0624)
原文:留在位移(3,M-6)的位置。
改为:留在位移(3,N-6)的位置。
13. 第131页,第4行(感谢:网友lbc122)
原文:f(23)=个位出现1的个数+十位出现1的个数+百位出现1的个数=13+20+24=57
改为:f(123)=个位出现1的个数+十位出现1的个数+百位出现1的个数=13+20+24=57
http://www.cnblogs.com/bvbook/archive/2008/07/24/1250451.html
原文: a – b = 1
改为: b – a = 1
2. 第133页,第1行
原文:f(10n-1)=n*10n-1
改为:f(10n-1)=n*10n-1
3. 第147页,第7行
原文:f(x,y)=f(y, y%x) (y>0)
改为:f(x,y)=f(y, x%y) (x≥y>0)
4. 第153页,第5行
原文:再引入一个变量j, j=X%N
改为:再引入一个变量J, J=X%N
5. 第227页,代码清单3-8中的第6行
原文: int nAbstractBegin = 0; //目标摘要的结束地址
改为: int nAbstractEnd = 0; //目标摘要的结束地址
6. 第288页,代码清单4-3中的倒数第6行
原文: if (Min currentMin)
改为: if (Min > currentMin)
》》》》》》》》勘误补充》》》》》》》》
7. 第221页,代码清单3-6倒数第9行(感谢:网友Azuryy )
原文:
int t1 = CalculateStringDistance(strA, pABegin, pAEnd, strB,
pBBegin + 1, pBEnd);
int t1 = CalculateStringDistance(strA, pABegin + 1, pAEnd,
strB,pBBegin, pBEnd);
int t1 = CalculateStringDistance(strA, pABegin + 1, pAEnd,
strB,pBBegin + 1, pBEnd);
return minValue(t1,t2,t3) + 1;
改为:
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;
8. 第253页,代码清单3-16倒数第10行(感谢:网友Azuryy )
原文:
If (!vec[cur] -> lchild) //当前访问节点的左节点不为空则压入
vec.push_back(ver[cur] -> lchild);
If (!vec[cur] -> rchild) //当前访问节点的右节点不为空则压入
//注意左右节点的访问顺序不能颠倒
改为:
If (vec[cur] -> lchild) //当前访问节点的左节点不为空则压入
vec.push_back(ver[cur] -> lchild);
If (vec[cur] -> rchild) //当前访问节点的右节点不为空则压入
//注意左右节点的访问顺序不能颠倒
9. 第103页,代码清单1-27(感谢:网友jinlingmin0624)
原文: S[i] U = Fork(f(i),f(i - x));
改为: S[i] U = Fork(f(x),f(i - x));
10. 第106页,第4行(感谢:网友jinlingmin0624)
原文:BlockSets[7][4][4][4]
改为:BlockSets[7][4]
11. 第107页,倒数第2行(感谢:网友jinlingmin0624)
原文:积木块将下落到的高度为(N-3, N-5-1)=N-6
说明:标红处的减号有问题,与其他几个减号不一致
12. 第107页,最后一行(感谢:网友jinlingmin0624)
原文:留在位移(3,M-6)的位置。
改为:留在位移(3,N-6)的位置。
13. 第131页,第4行(感谢:网友lbc122)
原文:f(23)=个位出现1的个数+十位出现1的个数+百位出现1的个数=13+20+24=57
改为:f(123)=个位出现1的个数+十位出现1的个数+百位出现1的个数=13+20+24=57
http://www.cnblogs.com/bvbook/archive/2008/07/24/1250451.html