Move!Move!!Move!!!
-
何海涛:《剑指Offer:名企面试官精讲典型编程题》:九度OJ
题目描述: http://ac.jobdu.com/problem.php?cid=1039&pid=26
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
- 输入:
- 多组测试数据,每个测试数据包含一个字符序列S和非负整数K。其中S的长度不超过1000。
- 输出:
- 对应每个测试案例,输出新序列。
- 样例输入:
-
UDBOJ 4 abba 1
- 样例输出:
-
JUDBO bbaa
思想:类似于上一篇:http://blog.csdn.net/shanshanpt/article/details/8689935
例如: 输入 123456789 需要左移3位
将左右分开(以3位为分界线),分别翻转 321 987654
再将整体翻转 456789 321 OK!
代码AC:
#include <stdio.h> #include <string.h>int main() {char str[1002], ch;int i, k, low, high;while( scanf("%s %d", str, &k) != EOF ){getchar();k = k % ( strlen( str ) ); // 必不可少!(当长度很大的时候会出现循环,所以先%) low = 0;high = k - 1;while( low < high ){ch = str[low];str[low] = str[high];str[high] = ch;low++;high--;}low = k;high = strlen( str ) - 1;while( high > low ){ch = str[low];str[low] = str[high];str[high] = ch;low++;high--;}low = 0;high = strlen( str ) - 1;while( high > low ){ch = str[low];str[low] = str[high];str[high] = ch;low++;high--;}puts( str );/*for( i = strlen( str ) - 1; i >= 0; i-- ){printf("%c", str[i]);}printf("\n");*/}return 0; }
Move!Move!!Move!!!相关推荐
- C++右值引用 和 std::move()
void debug(int&& a){return a; } std::move(a) 可以将左值变为右值 int c = 0x100; // c 可以被取地址,c 为左值,c++ ...
- 火了,挡不住了:Facebook Move编程语言入门
火了,挡不住了:Facebook Move编程语言入门 Facebook区块链项目Libra的其中一个技术亮点,就是它使用了一种称为Move的新编程语言,那么这种语言是怎样的呢,今天我们就从其官方的概 ...
- std::move C++11 标准新特性: 右值引用与转移语义
新特性的目的 右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和 ...
- 详解C++移动语义std::move()
目录 1. C++move的概念 2. C++move的特点 3. 左值.右值与左值引用.右值引用 3.1 左值和右值的概念 3.2 左值引用和右值引用 4. std::move详解 4.1 std: ...
- Libra教程之:move语言的特点和例子
文章目录 move语言的特点 资源优先 灵活性 安全性 可验证性 Move语句初探 点对点支付交易脚本 Currency Module move语言的特点 Libra的目标是打造一个全球话的金融和货币 ...
- Libra教程之:来了,你最爱的Move语言
文章目录 Move语言 Move的核心概念 Move交易脚本 Move modules Move resources 写一个Move程序 编写交易脚本 编写自己的Modules Move语言 Move ...
- 【C++ Primer | 16】std::move和std::forward、完美转发
右值引用应该是C++11引入的一个非常重要的技术,因为它是移动语义(Move semantics)与完美转发(Perfect forwarding)的基石: 移动语义:将内存的所有权从一个对象转移到另 ...
- 注意:匿名函数调用直接加载函数名setInterval(move,30)
setInterval要求第一个参数必须是含Javascript命令的字符串或函数对象,所以 setInterval("move()",300) 以及 setInterval(mo ...
- (译)C++11中的Move语义和右值引用
郑重声明:本文是笔者网上翻译原文,部分有做添加说明,所有权归原文作者! 地址:http://www.cprogramming.com/c++11/rvalue-references-and-move- ...
- C++新特性探究(十六):move constructor移动构造
相关博文: C++新特性探究(十三):右值引用(r-value ref)&&探究 C++新特性探究(十六):move constructor移动构造 C++新特性探究(13.5):右值 ...
最新文章
- Java学习总结:51(对象序列化)
- linux下批量修改文件名精彩解答案例分享
- java获取当前时间戳_Java DateTime 获得当前 Unix 的时间戳
- 单体应用架构——垂直应用架构———分布式架构———SOA架构———微服务架构
- OAuth 2.0 的探险之旅
- 培训机构还能不能信任?
- Qt + Python + OpenCV图标替换工具 之 Python调用dll(三)
- java native 关键字
- mac自带的python怎么升级_mac上怎么更新python
- 小米平板5系列将有三个版本:搭载全新骁龙860芯片
- Mongo db 与mysql 语法比较
- c语言ascii码16进制,C语言附录ASCII码表.doc
- 地球人口承载力估计(YZOJ-1021)
- 单芯片无线供电IC 无线充电芯片 无线输电芯片FS68001
- 记一次Prometheus完整监控案例
- Elasticsearch如何提升查询效率
- html js获取天气预报,js 读取天气预报信息 示例代码(百度地图天气接口)
- UML类图关系(C++)
- 为什么会患糖尿病足?可能与这5种原因有关
- Xilinx GT学习
热门文章
- 【Verilog】一、Verilog的always使用
- android opengles光照效果-散射光
- USB TYPE-C PIN定义
- 不能初始化Photoshop 因为暂存盘已满
- 网络的宽度对深度学习模型的性能影响
- 运用杨鹏17天搞定GRE单词的方法,算出每一天应该被单词的量
- boss直聘账号异常登不上_【技术变现小技巧】-- Boss直聘 批量求简历
- cmakelist基本语法
- 中国工程院谭建荣:人工智能应用得再好,最核心的算法不行,创新能力就不行丨MEET2021
- 高性能 DotNetty Server Clinet Demo .NetCore