题解 | #调整牛群的位置#
调整牛群的位置
https://www.nowcoder.com/practice/cfa2130da69449229d8159561d39b0d3
考察的知识点:数组;
解答方法分析:
- 获取原数组nums的长度n,创建一个与原数组相同长度的结果数组result。
- 对于每个索引i,计算出旋转后该元素在结果数组中的新索引newIndex。计算公式为:(i - k + n) % n。这是为了处理旋转后的元素索引超出数组范围的情况。
- 根据计算得到的新索引newIndex,将原数组元素nums[i]放入结果数组result[newIndex]中。
- 遍历完整个原数组后,返回结果数组result。
所用编程语言:C++;
完整编程代码:↓
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @param k int整型 * @return int整型vector */ vector<int> rotate_left(vector<int>& nums, int k) { int n = nums.size(); vector<int> result(n); k = k % n; for (int i = 0; i < n; i++) { int newIndex = (i - k + n) % n; result[newIndex] = nums[i]; } return result; } };