1.写出下面程序的结果。

    char *c[] = {"ENTER","NEW","POINT","FIRST"};char **cp[] = {c+3,c+2,c+1,c};char ***cpp = cp;printf("%s\n",**++cpp);        //POINTprintf("%s\n",*--*++cpp+3);    //ERprintf("%s\n",*cpp[-2]+3);     //STprintf("%s\n",cpp[-1][-1]+1);  //EW

看到这种题型,大部分人都应该一阵窃喜,这种类型的题目只需要通过画图就可以解决。

1、**++cpp
首先++cpp,cpp指向cp首地址,++指向c+2的地址,先得到数组cp的第二个元素c+2,解引用++cpp也就是(c+2),指向数组c的第三个地址,再解引用((c+2))就得到POINT。
2、++cpp+3
根据符号优先级,首先是++cpp,由于1里面cpp已经指向了数组cp的第二个元素地址,所以这里++cpp就指向数组cp的第三个元素地址;然后解引用++cpp得到数组cp的第三个元素c+1,然后–++cpp相当于–(c+1),也就是得到c,而c里面存的是数组c的首元素地址,再解引用*c得到数组c的首元素ENTER,加3就从E开始向后数3,就是E输出就是ER。
3、*cpp[-2]+3
上面1和2的操作之后,cpp目前指向数组cp的第三个元素地址,cpp[-2]就相当于指向数组cp的第一个元素地址,解引用*cpp[-2]得到c+3所指的FIRST,加3就从F开始向后数3就是S,输出就是ST。
4、cpp[-1][-1]+1
此时cpp 指向数组cp的第三个元素c+1,cpp[-1]指向数组cp的第二个元素c+2,再执行cpp[-1][-1]相当于(c+2)[-1],也就是(c+2-1),也就是(c+1),得到数组c的第二个元素地址,是NEW地址,加1从N往后数1就是EW地址,输出EW。

  1. 给定一个字符串S,求所有长度小于3的子串出现的次数,输出结果按出现次数从大到小排序,如果次数相同,按字典序排序。比如,给定字符串”abcdab”,输出结果为
    a 2
    ab 2
    b 2
    abc 1
    bc 1
    bcd 1
    c 1
    cd 1
    cda 1
    d 1
    da 1
    dab 1
#include <iostream>
#include <map>
#include <string>
#include <vector>
using namespace std;vector<pair<string,int>>& calculate3Gram(string s)
{if(s.size() != 0){map<string,int> mp;for(int i = 0; s[i] != '\0'; ++i){map<string,int>::iterator it;string temp(1,s[i]);if(s[i] != '\0'){it = mp.find(temp);if(it == mp.end())mp[temp] = 1;elsemp[temp]++;}if(s[i+1] != '\0'){temp += s[i+1];it = mp.find(temp);if(it == mp.end())mp[temp] = 1;elsemp[temp]++;}if(s[i+2] != '\0'){temp += s[i+2];it = mp.find(temp);if(it == mp.find(temp))mp[temp] = 1;elsemp[temp]++;}}map<string,int>::iterator it = mp.begin();int i = 0;for(; it != mp.end(); ++it){cout<<it->first<<" "<<it->second<<endl;i++;}vector<pair<string,int>> *ve = new vector<pair<string,int>>[i];for(it = mp.begin(); it != mp.end(); ++it){it = mp.begin();int max = it->second;map<string,int>::iterator it2 = mp.begin(),it3 = it;while(it2 != mp.end()){if(max < it2->second)it3 = it2;++it2;}pair<string,int> value(it3->first,it3->second);mp.erase(it3);ve->push_back(value);}cout<<"----------------"<<endl;return *ve;}
}int main()
{string str("abcdab");vector<pair<string,int>> ve;ve = calculate3Gram(str);for(int i = 0; i < ve.size(); ++i)cout<<ve[i].first<<" "<<ve[i].second<<endl;}

金山软件2015校园招聘相关推荐

  1. 阿里巴巴2015校园招聘面试经历(笔者面试问题----倾情奉献)

    8.29号笔试,9.1号官网显示笔试通过请预约面试时间,预约了9.17号下午三点面试. 投入更加紧张的准备中,先把项目中的各种可能被问到的细节问题想到,然后再总结自己当时的解决办法和思路.最后,把各种 ...

  2. 百度2015校园招聘面试题(成功拿到offer)

    百度2015校园招聘面试题(成功拿到offer) 2014/10/15 | 分类: IT职场 | 1 条评论 | 标签: 技术面试, 百度 分享到:45 本文作者: 伯乐在线 - 敏敏 .未经许可,禁 ...

  3. 多益网络2015校园招聘第二次笔试题

    多益网络2015校园招聘第二次笔试题 LZ本人大三码农一枚,今天去参加多益网络的校园招聘2笔题,发现自己的c/c++知识还需要认真啊.话不多说上题,本次总共是5道选择题,第一题读代码题就不多说了,第二 ...

  4. 百度2015校园招聘笔试题

    百度2015校园招聘笔试题(自己凭记忆第一时间,记录了这么多,有些描述比较简单,请大神们补充) 一 .简答题(30分) 1. 进程和线程的联系与区别. 2. 简述数据库的存储过程及其优点. 3. st ...

  5. 腾讯2015校园招聘

    本帖最后由 itmian4 于 2014-9-14 10:30 编辑 腾讯2015校园招聘 笔试城市:西安.成都.武汉等 笔试时间:2015-9-13 腾讯校园,  西安 分享到: QQ空间 腾讯微博 ...

  6. 互联网行业2015校园招聘

    互联网行业2015校园招聘 本文档由大街网收集整理了互联网几大知名互联网企业2015年最新招聘笔试面试题资料,包括百度,腾讯,阿里巴巴,谷歌,新浪,京东,搜狐等多家知名企业... 详细解读 和小伙伴们 ...

  7. 同花顺2015校园招聘笔试题

    1280社区:http://www.dy1280.com/thread-498-1-1.html 同花顺2015校园招聘笔试题 日期:2014-9-15 地点:哈尔滨工程大学

  8. 阿里巴巴2015校园招聘面试大礼包

    1. 1. 阿里面试 1.1沈阳阿里2014校园招聘研发面试 日期:2013年9月 地点:沈阳 岗位:软件研发 收到通知是上午10点40的面试,因为面试地点在学校附近,所以早上9点就到了. 休息区等面 ...

  9. 阿里2015校园招聘广州站 面试经历

    2014年9月16号参加阿里在广州举行的校园招聘,最后止步于一面! 早上从深圳出发,由于没有参加过什么招聘,没有经验,我居然穿了短牛仔去"天泰旅行社"买票,后来看到一同前往的参加招 ...

最新文章

  1. 模型可解释性技术概览
  2. SGI重获新生 有望下月摆脱破产保护
  3. DL之MaskR-CNN:基于类MaskR-CNN算法(RetinaNet+mask head)利用数据集(resnet50_coco_v0.2.0.h5)实现目标检测和目标图像分割(语义分割)
  4. Serverless 工程实践 | Serverless 应用优化与调试秘诀
  5. 同程旅行基于 RocketMQ 高可用架构实践
  6. BZOJ 4810 莫队+bitset
  7. Ubuntu 安装 redmine
  8. ui项目答辩中学到了什么_我在UI设计9年中学到的12件事
  9. EventBus/EventQueue 再思考
  10. 前端学习(534):多列布局1
  11. IE图标消失 HTML文件图标变为未知图标的解决方法
  12. Ubuntu下安装配置JDK1.7
  13. Django Bootstrap开发笔记03 - Bootstrap环境配置
  14. 用string存取二进制数据
  15. 强悍的vim —— 变量的访问
  16. C++ Member Functions的各种调用方式
  17. 格力手机色界G0245D-Root-最简指南
  18. 戴尔计算机软件的安装,买的新戴尔电脑怎么安装软件
  19. [领域]javascript hacking guide 第5部分
  20. 实战小例子 | Python实现用手势控制电脑音量

热门文章

  1. Educoder 移动端电商页面制作
  2. python中mainloop什么意思_Tkinter中的mainloop应该如何理解?
  3. websocket——Firefox 无法建立到 ws://... 服务器的连接
  4. ARKit如何将太阳系装进iPhone
  5. PingCAP CTO 黄东旭 :基础软件“好用”指南——必须跨越这两道鸿沟!
  6. springboot框架开发医院云HIS 住院医生站、住院护士站功能实现
  7. win10下如何配置JAVA环境
  8. 国产电影最俗套的九十九个镜头(完整版)
  9. Luogu 4844 LJJ爱数数
  10. 边缘计算?相对于云计算