乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
问题分析
题目给定了一个数组N和一个整数M, 要求:
1. 将数组每个元素向右移动M位
2. 不使用额外的数组
将数组每个元素向右移动M位
这个要求很容易满足, 要求本身给出了操作内容, 第一直觉是模拟法搞定。
- 建立一个新的数组;
- 然后算出元素从原先位置向右移动M位之后应该放置的位置;
- 把元素放入应该目标位置即可。
不使用额外的数组
由于这个要求的存在, 我们就需要重新考虑我们上面的方案.
考虑的目标是, 如果不使用额外的数组.(像极了一句废话)
换句话说, 我们要考虑"之前方案里的数组起到了什么作用", “是否有替代方式实现同样功能”
数组的作用
我们在之前的练习题中提及过"数据的存储"是为了"使用存在的", 如果不需要使用, 可以不存储。
同样的思路, 我们要考虑的是,