我到处都看到这些编程问题:
在已排序的旋转整数数组中查找元素。
已排序的数组已向左旋转了r次。在最短的时间内找到r。
使用k个位置旋转数组(不使用额外的内存)
依旧......
我的问题是,为什么有人这样做?是否存在需要线性阵列旋转的真实算法?
答案 0 :(得分:0)
因为他们是运动?这就像在学校给出的问题。它们不是现实世界的问题。他们是应该教给你一些东西的问题。你的三个例子都很有趣。
已经有太多的程序员在编写(坏)代码前10分钟无法处理。这些问题需要你思考。
我要补充说,有各种程序员(包括我在内)喜欢好的复杂问题。复杂的数学+编程问题就像数独,但更好,因为在做了数独之后你还没有学到任何新的东西(你只锻炼了你的大脑),而在做了复杂的问题之后你有时会学到一些东西(至少如何使你的代码完全不可读:-))肯定你已经锻炼了你的大脑。甚至有一些网站存在数百个问题,例如spoj。
答案 1 :(得分:0)
这是一种深刻理解的方式,是吗?我努力训练,当你比较容易训练时,我完全相信在这样的情况下,这会很有用!。