编程之美 2.17 数组循环移位
来源:互联网 发布:可用端口号范围 编辑:程序博客网 时间:2024/05/21 19:37
编程之美 2.17 数组循环移位
把一个含有N个元素的数组循环右移K位, 要求时间复杂度位O(N), 且只允许使用两个附加变量.
解法: 使用逆序方法, 分开两段求逆序, 再整体求逆序.
代码 (GCC 4.7.1):
/* * BeautyOfProgramming.cpp * * Created on: 2013.11.7 * Author: Caroline * Time: O(N) */#include <iostream>#include <algorithm>#include <vector>#include <string>int main (void) {std::vector<std::string> sv ={"a", "b", "c", "d", "1", "2", "3", "4"};unsigned int n = 4;std::cout << "array : ";for(const auto s : sv)std::cout << s << " ";std::cout << std::endl;std::reverse(sv.begin(), sv.begin()+4);std::reverse(sv.begin()+4, sv.end());std::reverse(sv.begin(), sv.end());std::cout << "reverse (" << n <<") : ";for(const auto s : sv)std::cout << s << " ";std::cout << std::endl;return 0;}
- 编程之美2.17 数组循环移位
- 编程之美2.17 数组循环移位
- [编程之美2.17]数组循环移位
- 编程之美2.17 数组循环移位
- 编程之美 2.17 数组循环移位
- 编程之美2.17 数组循环移位
- 编程之美-2.17 数组移位循环
- 读书笔记之编程之美 - 2.17 数组循环移位
- 编程之美2.17之数组循环移位
- 编程之美--数组循环移位
- 数组循环移位(编程之美)
- 编程之美_012数组循环移位
- 编程之美-数组循环移位
- 编程之美 数组循环移位
- 编程之美--数组循环移位
- 编程之美--数组循环移位
- 编程之美6:数组循环移位
- 编程之美-数组循环移位
- RHEL 6 安装 chrome [备忘]
- SNMP in NexnetaStor
- 【Python】基于PyUnit的自动化单元测试框架,PyUnitGUI
- 使用开源的Slidingmenu库 facebook、人人网、everynote、Google+
- 一个作业题---用python创建一个通讯录
- 编程之美 2.17 数组循环移位
- 542 - France '98 (概率 dp)
- 如何对时间进行简单加减运算
- 随便写点
- 逻辑题:题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单
- 初识windows编程之多线程
- NSString反向查找字符串
- iOS学习系列 - 扩展机制category与associative
- window和linux换行符处理