leetcode 189 轮转数组
2023-09-27 14:29:24 时间
轮转数组
暴力差值法(超时)
class Solution {
public:
void rotate(vector<int>& nums, int k) {
k = k % nums.size();
while(k--)
{
int tmp = nums[nums.size()-1];
nums.erase(nums.end()-1);
nums.insert(nums.begin(),tmp);
}
}
};
转换双向数组
class Solution {
public:
void rotate(vector<int>& nums, int k) {
k = k % nums.size();
deque<int> my_deque(nums.begin(),nums.end());
while(k--)
{
int tmp = my_deque.back();
my_deque.pop_back();
my_deque.push_front(tmp);
}
nums.clear();
nums.assign(my_deque.begin(),my_deque.end());
}
};
翻转法
class Solution {
public:
void rotate(vector<int>& nums, int k) {
k = k % nums.size();
deque<int> my_deque(nums.begin(),nums.end());
reverse(nums.begin() , nums.end());
reverse(nums.begin(),nums.begin()+k);
reverse(nums.begin()+k,nums.end());
}
};
相关文章
- Leetcode: Length of Last Word
- LeetCode高频题:戈壁滩种树,一排n棵树,至少有k棵树存活时,最终形成的风景线有多少不同的情况
- LeetCode高频题4:求两个有序但不等长数组arr1,arr2,合成有序数组arr之后的上中位数是多少
- 【Leetcode】53. 最大子数组和(简单)
- Leetcode 130. 被围绕的区域(中等)
- JS Leetcode 852. 山脉数组的峰顶索引图解分析,高高的山峰一起吹山风吧。
- [LeetCode]剑指 Offer 64. 求1+2+…+n
- [LeetCode]1486. 数组异或操作
- [LeetCode]5396. 连续字符
- LeetCode 165. 比较版本号
- 168、【动态规划】leetcode ——121. 买卖股票的最佳时机:dp数组+变量优化 (C++版本)
- 【LeetCode】229. Majority Element II
- 【LeetCode】118. Pascal's Triangle
- [LeetCode] 1203. Sort Items by Groups Respecting Dependencies 项目管理
- [LeetCode] 1171. Remove Zero Sum Consecutive Nodes from Linked List 从链表中删去总和值为零的连续节点
- [LeetCode] 930. Binary Subarrays With Sum 二元子数组之和
- [LeetCode] 510. Inorder Successor in BST II 二叉搜索树中的中序后继节点之二
- [LeetCode] Coin Path 硬币路径
- [LeetCode] 371. Sum of Two Integers 两数之和
- [LeetCode] 325. Maximum Size Subarray Sum Equals k 最大子数组之和为k
- [LeetCode] 254. Factor Combinations 因子组合
- [LeetCode] 146. LRU Cache 最近最少使用页面置换缓存器
- [LeetCode] 162. Find Peak Element 求数组的局部峰值
- [LeetCode] 154. Find Minimum in Rotated Sorted Array II 寻找旋转有序数组的最小值之二
- leetcode 34. Find First and Last Position of Element in Sorted Array 在排序数组中查找元素的第一个和最后一个位置(中等)