c++ - 数组旋转有哪些应用?

标签 c++ arrays data-structures rotation

<分区>

我到处都看到这些编程问题:

  • Find an element in a sorted rotated integer array.

  • A sorted array has been rotated r times to the left. Find r in least possible time.

  • Rotate an array by k positions in place (without using extra memory)

  • And so on....

我的问题是,为什么有人会这样做?是否有真正的算法需要线性阵列旋转?数组旋转有哪些实际用途?

最佳答案

因为它们是练习?这就像学校里给的问题。它们不是现实世界的问题。它们是应该教给你一些东西的问题。你的三个例子都很有趣。

已经有太多的程序员无法在编写(糟糕的)代码前 10 分钟进行思考。这些问题需要你思考。

我要补充一点,有很多程序员(包括我在内)都喜欢解决复杂的问题。复杂的数学+编程问题就像数独,但更好,因为做完数独你没有学到任何新东西(你只是锻炼了你的大脑),而做完一个复杂的问题有时你会学到一些东西(至少如何让你的代码完全不可读 :-) ) 并且您肯定已经锻炼了您的大脑。甚至有成百上千个问题的网站,比如 spoj .

关于c++ - 数组旋转有哪些应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18078917/

相关文章:

Python NumPy : replace values in one array with corresponding values in another array

javascript - 如何在 session 存储中使用相同的键更新数组

java - 数据结构: Uniqueness in lists

c++ - 为什么 atomic_flag 默认构造函数未指定状态?

javascript - 按重要性顺序按属性对 JSON 对象数组进行排序

c - 如何使用char结构正确构建链表

c++ - 实现一个递归的Void函数(求二叉搜索树的高度)

c++ - 如何向编译器指示指针参数已对齐?

C++ 内联程序集运行时检查失败 #0

c++ - 非常简单的程序通过了 VS2010 c++ 内存泄漏检查器,但在销毁所有对象后在程序结束时仍然使用更多内存?