百度研发鄙视题
来源:互联网 发布:linux命令vi怎么退出 编辑:程序博客网 时间:2024/05/29 07:31
2》一串首尾相连的珠子m个,有N中颜色,取其中一段包含N种颜色并且长度最短。
代码使用July的100题的代码,但是源代码没有考虑循环的情况,我将珠子串复制了一份,与原来的串首尾相连来解决循环。
看代码:
/* * 百度研发 一串首位相连的珠子(m个),有N种颜色 * @ a, 相连的珠子,有n个 * @ n,个数 * @ m, 颜色种数 */int shortestFullColor(int a[], int n, int m){//为了使用循环,我们将a转化成2份aa,int *aa = new int[2*n];int *c = new int[m];int ctr = m;int h = 0, t = 0;int min = n;for(int i = 0; i< n; ++i){aa[i] = a[i];aa[i + n] = a[i];}for(int i = 0; i < m; ++i){c[i] = 0;}while(1){//获取能够容纳ctr种颜色的hwhile(ctr > 0 && h < 2*n){if(c[aa[h]] == 0)ctr--;c[aa[h]]++;h++;}if(h >= 2*n)return min;//对t进行紧缩,使h-t构成的段最短while(1){c[aa[t]]--;if(c[aa[t]] == 0)break;t++;}if(min > h-t)min = h - t;//尾前移,颜色种数加1t++;ctr++;}}
0 0
- 百度研发鄙视题
- 百度”鄙视“
- 看好腾讯,鄙视百度
- 百度二面被鄙视了
- 百度系统研发笔试题
- 我鄙视百度的原因
- 2013百度软件研发笔试题
- 2014百度武汉站研发题
- 2014 百度研发工程师笔试题
- 百度校招研发工程师笔试题
- 2014百度软件研发工程师笔试题
- 2014 百度研发工程师笔试题
- 百度 2015 北京 研发笔试题
- 百度 2015 武汉研发笔试题
- 百度2014研发类校招笔试题分析
- 2015百度前端研发笔试题
- 百度2016研发工程师在线编程题
- 百度2016研发工程师在线编程题
- 独木舟上的旅行
- MFC 使用CImage获取到屏幕截图,指定格式保存到文件
- 栈与堆的区别及其探讨
- 一个即将面临大三的大学生(将要从事IT的屌丝男)自述
- 剑指offer
- 百度研发鄙视题
- LeetCode :: Sum Root to Leaf Numbers [tree、dfs]
- 使用对象数组和指针
- 项目开发中是突出的重点重要呢,还是细节重点重要.
- XML详解---1
- 生成验证码时出现Fatal error: Call to undefined function imagettftext()
- 【leetcode】Evaluate Reverse Polish Notation
- 设置Activity进入退出动画
- MySQL基本命令