[编程题] 回文序列
如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:
{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, 
{1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。
现在给出一个数字序列,允许使用一种转换操作:
选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前的位置(只插入一个和)。
现在对于所给序列要求出最少需要多少次操作可以将其变成回文序列。

输入描述:
输入为两行,第一行为序列长度n ( 1 ≤ n ≤ 50)
第二行为序列中的n个整数item[i]  (1 ≤ iteam[i] ≤ 1000),以空格分隔。
输出描述:
输出一个数,表示最少需要的转换次数
输入例子:
4
1 1 1 3
输出例子:

2

解题思路:第一直觉:动态规划,关键是寻找状态转移点

// 每一步可能遇到2种状态
// a. 第一个与最后一个相等,则对回文序列没有贡献 
// b. 第一个与最后一个不等。为了构造回文序列,使用最小的步数,则两端的数据相差越小越好 
// 如果最后一个数据比第一个大,则前两个合并
// 如果第一个数据比最后一个大,则后两个合并 

#include <vector>
#include <cstdio>using namespace std;int main()
{int n, ans = 0,pBegin, pEnd;int vec[50];scanf("%d",&n);pBegin = 0; pEnd = n-1;for(int i = 0; i < n; ++i){scanf("%d",&vec[i]);}while(pBegin <= pEnd){if(vec[pBegin] == vec[pEnd]){++pBegin,--pEnd;}else if(vec[pBegin] < vec[pEnd]){vec[pBegin+1] +=vec[pBegin];++pBegin;++ans;}else{vec[pEnd-1]+=vec[pEnd];--pEnd;++ans;}}printf("%d\n",ans);return 0;
} 

回文序列-2017网易校园招聘相关推荐

  1. 优雅的点(2017网易校园招聘)---最详细的解答

    时间限制:1秒空间限制:32768K热度指数:68123 算法知识视频讲解 题目描述 小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方.小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在 ...

  2. 优雅的点-2017网易校园招聘

    [编程题] 优雅的点 小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方.小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他. 例如:半径的 ...

  3. 网易校园招聘历年经典面试题汇总:前端 岗

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦 这个系列离结束差的还特别多,会更新涵盖所有一线大厂的所有岗位,也可以关注一下. 腾讯校园招聘历年经典面试题汇总:前 ...

  4. 网易校园招聘历年经典面试题汇总:C++研发岗

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦 这个系列离结束差的还特别多,会更新涵盖所有一线大厂的所有岗位,也可以关注一下. 腾讯校园招聘历年经典面试题汇总:前 ...

  5. 杭州java校园招聘_网易校园招聘杭州Java笔试题

    地点:杭州 职位:java研发 第一部分:计算机科学基础 (注:所有职位必做) 1.(2分)最坏情况下时间复杂度为O(nlogn)的排序算法有() A.基数排序 B.归并排序.C.堆排序 D.快速排序 ...

  6. 【2017秋季校园招聘笔经面经专题汇总】

    [2017秋季校园招聘笔经面经专题汇总] 2017秋招进行时,牛妹特意为大家开放2017秋招面经专栏,同时面经活动也正在进行中,欢迎大家参与~~活动详情戳:http://www.nowcoder.co ...

  7. 腾讯2017年校园招聘笔试题第一题

    刚做完腾讯2017年校园招聘笔试题,在这里跟大家分享一下: 1. 题目 2. 我的思路 循环判断i(i从2到(输入值/2+1)),是否有满足i和(输入值-i)均为质数的情况.如果有,count加1.循 ...

  8. 腾讯2017年校园招聘笔试题第二题

    下面是腾讯2017年校园招聘笔试题第二题,在这里跟大家一起分享: 1. 题目 2. 我的思路 这题我觉得题目说的很清楚了.用类似于二分查找的方法,记录最大值.最小值和中间值,判断并记录在左区间(值为0 ...

  9. 2017秋季校园招聘iOS开发岗位面试题集锦

    笔者参加了2017秋季不少的校招iOS岗位面试,下面我把这些面试题都贴出来和大家共勉: 一.搜狐快站 1.谈谈你做过的项目: 2.项目中最有成就感的部分: 3.倒计时如何实现?(NSTimer,还有其 ...

最新文章

  1. 《SAP FIORI 开发入门》课程答疑 第二期
  2. HTML5+MUI+HBuilder 之初探情人
  3. mysql创建外键级联更新_MySQL中利用外键实现级联删除、更新
  4. 2021-03-02 英文写作中的“但是”
  5. 【Linux】vim简单配置
  6. 2017将转行进行到底
  7. HTML5本地图片裁剪并上传
  8. MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 转载
  9. 内部矩阵维度必须一致simulink_深度学习/目标检测之numpy——向量和矩阵乘法相关...
  10. NGINX1.19安装手册
  11. libevent cs
  12. 83.均衡策略:round-robin
  13. sublime text3安装、注册及常用插件
  14. ruby gem 记录
  15. appscan无法连接到服务器_GTA5无法连接R星服务器怎么解决?无法连接解决方法
  16. Ubuntu18.04 下的Gif录制工具
  17. biztalk 2006 事务补偿模型[翻译]
  18. python提取关键词_【Python工具】30万关键词提取疑问词只需2秒,效率高到飞起!...
  19. 【模板】ACM Conference的Latex论文模板与说明
  20. 百度地图坐标增强现实 (雷达效果)附全国离线地图

热门文章

  1. 详解:C语言中的指针和p, p+1, *(p+1), *P+1, p[0], p[0] 的含义
  2. 【笔记本】解决键盘粘键 -/- 按键自动输入
  3. 信度不达标的处理方式
  4. LBS地理位置距离计算方法之【geohash算法】
  5. 游戏辅助制作核心--植物大战僵尸逆向之植物攻击加速(六)
  6. 乔布斯震撼临终遗言首度公开!
  7. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(九)
  8. 论文摘要和引言的写法
  9. 清华大学计算机系研究生培养方案,攻读硕士学位研究生培养方案
  10. 山东大学软件质量保证与测试技术复习纲要