简单的数据结构

简单的数据结构

https://ac.nowcoder.com/acm/problem/14661

感觉指针容易错,可以用数组模拟。数组开两倍(因为如果一直从前插入从0开始下标就是负数了,数组会越界),然后双指针,l记录头的位置,r记录尾的位置,因为排序不超过十次,所以sort(nlogn)不会超时的。
最开始l在2e5的位置(只要数组够大,l再往后一些也是可以的),r=l;

模拟以下操作

  1. a从前面插入元素(就是a[--l]=x,如果r=l+1的话,就可以用a[l--]=x);
  2. 从前面删除一个元素(++l就相当于删掉最前面的元素);
  3. a从后面插入一个元素(就是a[r++]=x);
  4. 从后面删除一个元素(r--就相当于删掉最后面的元素);
  5. 将整个容器头尾翻转 ,reverse(a+l,a+r);
  6. 输出个数和所有元素 (遍历数组下标l到r输出就好了);
  7. 对所有元素进行从小到大排序,sort(a+l,a+r);

附上我丑陋的代码
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=43754330&returnHomeType=1&uid=116719221

全部评论
学姐牛逼
点赞 回复 分享
发布于 2020-05-22 12:05
学姐牛逼!
点赞 回复 分享
发布于 2020-05-22 12:05
学姐牛逼!!
点赞 回复 分享
发布于 2020-05-22 12:05
学姐牛逼!!!
点赞 回复 分享
发布于 2020-05-22 12:06
学姐太强了!
点赞 回复 分享
发布于 2020-05-24 23:03
学姐太强了!
点赞 回复 分享
发布于 2020-06-27 22:54

相关推荐

服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务