Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[作者留言] 意见征集 #49

Open
changgyhub opened this issue May 28, 2021 · 37 comments
Open

[作者留言] 意见征集 #49

changgyhub opened this issue May 28, 2021 · 37 comments
Assignees

Comments

@changgyhub
Copy link
Owner

单独开一贴征集一些意见吧。

=================

笔者自Waymo入职已一年有余,闲来重看此书,忽觉代码风格实在不够标准严谨。如果有空会按照Google Code Style重写一遍代码。

近来实在没有太多空闲时间,有时想写点别的书却抽不出时间。工作后确实很难在完成工作内容、锻炼身体、玩游戏之外再有余力。如果有长假期,可能考虑稍微写一些关于无人车的内容吧,在不泄露任何公司机密的情况下给各位读者介绍一下行业的现状。

另外如果你在读完此书后顺利通过面试而入职,又恰好在硅谷,请备注私信我,我请你吃炸鸡。

@changgyhub changgyhub self-assigned this May 28, 2021
@changgyhub changgyhub pinned this issue May 28, 2021
@changgyhub
Copy link
Owner Author

另外,最近收到一些疑似读者的微信好友请求。请您备注姓名或GitHub用户名,并注明来意,以免我当作陌生人忽略掉。感谢理解。

@plkdsy
Copy link

plkdsy commented Jun 3, 2021

最近准备换工作,刷题的时候看到网友推荐的这本书,照着刷比漫无目的的刷轻松很多!感谢作者!
下载到的是V1.0,刷到6.3 回溯法的51. N-Queens (Hard)时,发现副对角线数组rdiag的下标有问题,今天找到官网发现最新版已经修正了。再次感谢作者!

@TheSithPadawan
Copy link

写的挺好的。似乎第十二章 字符串那边pdf生成有重复。

@changgyhub
Copy link
Owner Author

写的挺好的。似乎第十二章 字符串那边pdf生成有重复。

是不是因为你是直接在github上看的而不是下载再看?最新版本在我这里并没有这个情况

@TheSithPadawan
Copy link

写的挺好的。似乎第十二章 字符串那边pdf生成有重复。

是不是因为你是直接在github上看的而不是下载再看?最新版本在我这里并没有这个情况

噢是的 我下载了就没有重复了。

@ATenquest
Copy link

大大好,今天想要尝试下载发现不能下载了,
具体显示为:Sorry, this file is invalid so it cannot be displayed.

@changgyhub
Copy link
Owner Author

大大好,今天想要尝试下载发现不能下载了,
具体显示为:Sorry, this file is invalid so it cannot be displayed.

我这边是可以下载的,是不是因为你被墙了/服务器有问题?

@ATenquest
Copy link

大大好,今天想要尝试下载发现不能下载了,
具体显示为:Sorry, this file is invalid so it cannot be displayed.

我这边是可以下载的,是不是因为你被墙了/服务器有问题?

谢谢!发现开了vpn,关掉就好了。

@TheSithPadawan
Copy link

在看第七章 542, 广度优先搜索的时候一开始如果enqueue所有0,遍历一遍矩阵就ok?应该还是mn不会是m^2n^2的情况。

@changgyhub
Copy link
Owner Author

在看第七章 542, 广度优先搜索的时候一开始如果enqueue所有0,遍历一遍矩阵就ok?应该还是mn不会是m^2n^2的情况。

感谢关注!我在那里提到了可以做memoization,您说的方法其实是也是需要做记录的,本质应该是一样的。

@TheSithPadawan
Copy link

看到第十章了,真的很不错。感谢。

@chaggle
Copy link

chaggle commented Sep 16, 2021

如果您日后有精力,希望您能将本书通过出版社出版,鄙人很希望手边能有一本排版精美的、纸张舒适的C++刷leetcode的实体书😊😊

@changgyhub
Copy link
Owner Author

如果您日后有精力,希望您能将本书通过出版社出版,鄙人很希望手边能有一本排版精美的、纸张舒适的C++刷leetcode的实体书😊😊

其实也有出版社联系我,但是因为我本人没有Leetcode题目的版权,而且人在美国,如果要在中国出版可能会有些奇怪的潜在法律风险。如果需要您可以去当地大学城附近的专业打印店打印一份(那种带硬皮的),一般他们经常接这种服务,价格不会太贵。

@chaggle
Copy link

chaggle commented Sep 19, 2021

如果您日后有精力,希望您能将本书通过出版社出版,鄙人很希望手边能有一本排版精美的、纸张舒适的C++刷leetcode的实体书😊😊

其实也有出版社联系我,但是因为我本人没有Leetcode题目的版权,而且人在美国,如果要在中国出版可能会有些奇怪的潜在法律风险。如果需要您可以去当地大学城附近的专业打印店打印一份(那种带硬皮的),一般他们经常接这种服务,价格不会太贵。

好的,感谢您的回复

@TheSithPadawan

This comment has been minimized.

@changgyhub
Copy link
Owner Author

changgyhub commented Sep 26, 2021

97页149题确定是对的么?
如果每条线只用斜率来确定,那岂不是会出现把2条平行线上的点算到一起去?
unordered_map<double, int> hash; // <斜率, 点个数>
test case: [[1,1],[2,2],[0,1],[1,2]] 应该返回2噢

(1)您誊写if else的花括号有问题,我这边跑是对的,请再检查一遍。
(2)如果对题目有问题请单独提issue,尽量不要在非符合您要求的主题提问。

@Dean-zy
Copy link

Dean-zy commented Oct 10, 2021

首先感谢您分享的做题经验和题解~ C++选手狂喜。
然后提一个小建议,如果会更新新版本,可以把本仓库的地址贴到明显的地方[重复出现也可],让大家能找到真正的讨论的地方。目前好像只有最后一页点击超链接能找到这里,其他地方没有描述或者页眉页脚标注这里的地址。
很多的公众号使用您的这本101作为引流工具,虽然增加了101的传播范围,但是也使得通过公众号获取的朋友,并没有来过这个仓库,所以Issues看上去很少。
当大家都来到这里的时候,可以由大家来提交Java或Python版本的题解~ 让其他语言同学能够有所参考
再次感谢您的分享哈哈哈~

@changgyhub
Copy link
Owner Author

首先感谢您分享的做题经验和题解~ C++选手狂喜。 然后提一个小建议,如果会更新新版本,可以把本仓库的地址贴到明显的地方[重复出现也可],让大家能找到真正的讨论的地方。目前好像只有最后一页点击超链接能找到这里,其他地方没有描述或者页眉页脚标注这里的地址。 很多的公众号使用您的这本101作为引流工具,虽然增加了101的传播范围,但是也使得通过公众号获取的朋友,并没有来过这个仓库,所以Issues看上去很少。 当大家都来到这里的时候,可以由大家来提交Java或Python版本的题解~ 让其他语言同学能够有所参考 再次感谢您的分享哈哈哈~

感谢抬爱!首页加了一个讨论区

@auqaoasis
Copy link

贪心 2.3区间问题 的 435 题目中sort第三个参数“ [](vector a, vector b” 测试点58会显示超时,而换成官方解答的“[](const auto& u, const auto& v” 就能通过 作者可以修改下 顺便告诉一下原因吗 谢谢啦

@changgyhub
Copy link
Owner Author

贪心 2.3区间问题 的 435 题目中sort第三个参数“ [](vector a, vector b” 测试点58会显示超时,而换成官方解答的“[](const auto& u, const auto& v” 就能通过 作者可以修改下 顺便告诉一下原因吗 谢谢啦

我这边刚刚跑了一下是可以过的,
Runtime: 376 ms, faster than 89.45% of C++ online submissions for Non-overlapping Intervals.
Memory Usage: 89.7 MB, less than 82.16% of C++ online submissions for Non-overlapping Intervals.
您看看是不是抄写错误?

@x1nj1n
Copy link

x1nj1n commented Dec 13, 2021

应该请你吃炸鸡才对,功德无量🙏

@x1nj1n
Copy link

x1nj1n commented Dec 13, 2021

小白建议提供练习题的答案

@h82258652
Copy link

感谢作者,看了这pdf一个多星期,有针对性补漏,比之前乱刷leetcode效率高了。
有两个小建议:
1、列出时间复杂度和空间复杂度,个人之前面试翻车了,题目做出来,但面试官问到复杂度说不上来
2、题目链接可以加一个中文leetcode的(或者直接换掉现在英文的链接?),因为我觉得pdf已经是中文的,如果不是面外企,题目看中文的可能效率会高点。

@canon2053
Copy link

贪心 2.3区间问题 的 435 题目中sort第三个参数“ [](vector a, vector b” 测试点58会显示超时,而换成官方解答的“[](const auto& u, const auto& v” 就能通过 作者可以修改下 顺便告诉一下原因吗 谢谢啦
可能你下载的PDF版本不是最新的,最新的版本里有&。[](vector &a, vector &b)

@zhongxx0227
Copy link

贪心 2.3区间问题 的 435 题目中sort第三个参数“ [](vector a, vector b” 测试点58会显示超时,而换成官方解答的“[](const auto& u, const auto& v” 就能通过 作者可以修改下 顺便告诉一下原因吗 谢谢啦

因为传引用比传值要快

@Mirrorigin
Copy link

感谢作者编撰这样一本能够帮助建立系统框架的书!在看到11.5 优先队列的部分时,对用数组实现堆的这部分代码产生了疑问:您前文说到,“用数组表示时,位置 i 的节点的父节点位置一定为 i/2,而它的两个子节点的位置又一定分别为 2i 和 2i+1”,所以这里的数组索引应该是从1开始,这样索引2和3分别代表根节点的两个子节点,但是在返回根节点的top函数中,又用的是“return heap[0];”,即数组索引0代表根节点,如果是从0开始,那么其子节点应该是2i+1和2i+2,但是又和后文的下沉上浮函数冲突了。因此不知道您这部分的实现是考虑根节点从0还是1开始的呢?或者不知道是我的理解哪里出现了问题,期待解惑!谢谢!

@changgyhub
Copy link
Owner Author

感谢作者编撰这样一本能够帮助建立系统框架的书!在看到11.5 优先队列的部分时,对用数组实现堆的这部分代码产生了疑问:您前文说到,“用数组表示时,位置 i 的节点的父节点位置一定为 i/2,而它的两个子节点的位置又一定分别为 2i 和 2i+1”,所以这里的数组索引应该是从1开始,这样索引2和3分别代表根节点的两个子节点,但是在返回根节点的top函数中,又用的是“return heap[0];”,即数组索引0代表根节点,如果是从0开始,那么其子节点应该是2i+1和2i+2,但是又和后文的下沉上浮函数冲突了。因此不知道您这部分的实现是考虑根节点从0还是1开始的呢?或者不知道是我的理解哪里出现了问题,期待解惑!谢谢!

确实是我表述有误,有两种方法:
(1)将第0位设成invalid,第一位当作最大值
(2)仍然将第0位当作最大值,i的子节点为2i+1和2i+2,父节点为(i-1)/2

pdf稍后会更正

@Aric-Rondstedt
Copy link

那个有一个小小的建议,可不可以就是像代码随想录一样就是有个侧边栏目录这样,我更喜欢这样读电子书,很容易掌握自己的进度

@imkelt
Copy link

imkelt commented May 20, 2022

P30回溯法题46的题解中,第二句,“为了防止我们每此遍历时...“,每此写错了,应该是每次。

@EchoLXY
Copy link

EchoLXY commented Jun 16, 2022

感谢作者的整理,最近在按照书中顺序在刷题。想问一下书中的练习会有code的答案吗?感觉作者的答案比较好,想要改进一下我写的。谢谢!

@changgyhub
Copy link
Owner Author

感谢作者的整理,最近在按照书中顺序在刷题。想问一下书中的练习会有code的答案吗?感觉作者的答案比较好,想要改进一下我写的。谢谢!

因为有一些问题是需要会员才可以看的,如果我提供答案会有版权问题,所以不能上传,不好意思啦。

@JohnPorter103
Copy link

感谢作者的整理,最近在按照书中顺序在刷题。想问一下书中的练习会有code的答案吗?感觉作者的答案比较好,想要改进一下我写的。谢谢!

因为有一些问题是需要会员才可以看的,如果我提供答案会有版权问题,所以不能上传,不好意思啦。

或者作者说下您在LeetCode的账户名,我们看看您账户里有没有想要的答案也可以

@SicilyLv
Copy link

88. 合并两个有序数组
没有考虑第一个数组元素数为0的情况

@changgyhub
Copy link
Owner Author

88. 合并两个有序数组 没有考虑第一个数组元素数为0的情况

您可以看一下题目的example 3,长度为0的数组会有一个0的假占位

@necusjz
Copy link

necusjz commented Apr 10, 2023

动态规划章节中的口诀,困惑了我很久:

0-1 背包对物品的迭代放在外层,里层的体积或价值逆向遍历;完全背包对物品的迭代放在里层,外层的体积或价值正向遍历。

而上面完全背包的空间压缩版,对物品的迭代似乎放在外层:

int knapsack(vector<int> weights, vector<int> values, int N, int W) {
    vector<int> dp(W + 1, 0);
    for (int i = 1; i <= N; ++i) {
        int w = weights[i-1], v = values[i-1];
        for (int j = w; j <= W; ++j) {
            dp[j] = max(dp[j], dp[j-w] + v);
        }
    }
    return dp[W];
}

@mofagoulaopi
Copy link

感谢老师!大三的时候准备实习用这本但是后来保研去了就没刷多少,现在研究生了还是想用这本书。市面上其他leetcode的书看了基本感觉老师写的排版和解法都更清楚一点,换电脑本来找不到了(因为忘了名字),搜了半天终于找到了。谢谢老师。

@phenixwutao
Copy link

phenixwutao commented Sep 26, 2023

谢谢你的leetcode题解。我的算法功底不是很好,想通过这本书练习,加深对算法的理解,然后通过面试找个工作。不知道您是否觉得可行,有什么好的建议吗?十分感谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests