文档章节

技术笔试-编程之法(算法面试心得)

求行者
 求行者
发布于 2017/08/13 21:24
字数 210
阅读 8
收藏 0

字符串

字符串旋转

解法一:蛮力移位

//蛮力移位
void LeftShiftOne(char* s,int n)
{
    //保存第一个字符
    char t=s[0];
    for(int i=1;i<n;i++)
    {
        s[i-1]=s[i];
    }
    s[n-1]=t;
}
void LeftRotateStringManli(char* s,int n,int m)
{
   while(m--)
   {
       LeftShiftOne(s,n);
   }
}

测试结果:

 cout << "开始" << endl;
 Print(s,6);
 cout <<" "<< endl;
 LeftRotateString(s,6,3);
 Print(s,6);
 cout << "结束" << endl;
 //运行时间26秒

解法二:三步反转

//三步反转法
void Revesestring(char*s ,int from,int to)
{
while(from<to)
    {
        char t=s[from];
        s[from++]=s[to];
        s[to--]=t;
    }
}
void LeftRotateStringSanbu(char* s,int n,int m)
{
m%=n;
Revesestring(s,0,m-1);
Revesestring(s,m,n-1);
Revesestring(s,0,n-1);
}

测试结果:

 char s[6]={'a','b','c','d','e','f'};
 cout << "开始" << endl;
 Print(s,6);
 cout <<" "<< endl;
 LeftRotateStringSanbu(s,6,3);
 Print(s,6);
 cout << "结束" << endl;
 //  运行时间4秒

字符串包含

 

© 著作权归作者所有

求行者
粉丝 2
博文 71
码字总数 84898
作品 0
海淀
程序员
私信 提问
【提升技能必备】这几本Android高级进阶的好书值得一看

Android开发的书籍有很多,下面简单的就我看过的感觉写的很全面,很深入,很有启示意义的几本书推荐给大家,希望大家在闲暇之时也能买来看看。(只是介绍书籍,想买的自己百度书名。别误会。...

AWeiLoveAndroid
2018/01/02
0
0
写面经只是为了分享,没想到还能获奖!

掘金秋招征文大赛 9月初为止,秋招的内推已经结束大半了。这一个月里,应届生们经历了针对各岗位的简历整理,经历了各大公司的线上线下笔试,经历了一次又一次的简历被筛,面试被拒。相信在这...

掘金官方
2017/09/07
0
0
掘金秋招求职征文大赛

9月初为止,秋招的内推已经结束大半了。这一个月里,应届生们经历了针对各岗位的简历整理,经历了各大公司的线上线下笔试,经历了一次又一次的简历被筛,面试被拒。相信在这一个月里,大家都...

稀土君
2017/09/06
0
0
2019阿里、腾讯等大厂技术面试题目汇总

Github地址:https://github.com/0voice/interviewinternalreference 每一个程序员估计都想挤进大厂吧,但是大厂不是你想进就能进,竞争程度堪比高考,你需要通过层层考验,虽说不需要三年高...

编程资源库
07/22
430
0
机器学习实习生面试总结(阿里 腾讯等)

今年来一直在找暑期实习,现在基本已经确定了,前后历经差不多2个月吧,发现了很多自己的缺点,同时也希望写出来供需要的人参考了解 先说下我自己的情况吧,决定去腾讯TEG的机器学习岗实习了...

Gavin__Zhou
2017/05/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
7
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
7
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部