百度武汉站笔试题——算法题第一第二题Java实现
来源:互联网 发布:卖py什么意思网络用语 编辑:程序博客网 时间:2024/05/17 02:44
题目来源:http://blog.csdn.net/u010335393/article/details/12140075
1.给出任意一个正整数,算出大于它的最小不重复数(即不存在相邻两个数位相同的情况)
public class MinNumber {
/*
* 找出大于base的最小不重复数
*/
public int getMinNumber (int base) {
int result = base+1;
while (isRepeat(result)) {
result++;
}
return result;
}
/*
* 判断给定的数字number是否有数位重复
*/
private boolean isRepeat (int number) {
//a是最后一位
int a = number % 10;
number = number / 10;
//b是倒数第二位
int b = number % 10;
number = number / 10;
while (a != b && number != 0) {
a = b;
b = number % 10;
number = number / 10;
}
return (a == b)?true:false;
}
}
2.给出一个长度为N的字符串,求里面最长的回文子串长度。
(注:本算法是在一定的基础上修改的,非原创。)
/**
* 求最大回文串
*/
public class MaxMirrorString {
public static String getMaxMirrorString(String s)
{
String max_s = ""; // 所求的最大对称子串
String s1 = null, s2 = null;
for(int i=0; i<s.length(); i++)
{
//第一种对称模式:对称的字符总数为单
int step = 1;
try{
for(;;)
{
if(s.charAt(i-step) != s.charAt(i+step)) break;
step++;
}
}catch(Exception e){}
//有step-1对对称,中间还有单独的一个字符
s1 = s.substring(i-step+1,i+step);
// 第二种对称模式:对称的字符总数为双
step = 0;
try{
for(;;)
{
if(s.charAt(i-step) != s.charAt(i+step+1)) break;
step++;
}
}catch(Exception e){}
//step的值是多少,说明有多少对字符相等
if (step == 0) {
s2 = s.substring(i, i+1);
} else {
s2 = s.substring(i-step+1,i+step+1);
}
if(s1.length() > max_s.length()) max_s = s1;
if(s2.length() > max_s.length()) max_s = s2;
}
return max_s;
}
}
- 百度武汉站笔试题——算法题第一第二题Java实现
- 2014百度武汉站笔试题
- 2014百度武汉站笔试题
- 2014百度笔试题(武汉)
- 百度 2015 武汉研发笔试题
- 百度2014校园招聘笔试题(武汉站 9.28)
- 百度2014校招系统分析师笔试题(武汉站)
- 百度2015 算法笔试第一题答案
- 百度笔试第一题
- [百度笔试] 2014百度校园招聘软件研发题--武汉
- 百度2014校园招聘笔试题武汉站三道算法设计题
- 百度笔试题第一弹
- 百度笔试题第一弹
- 百度2014校园招聘软件研发笔试题(武汉站)
- 百度后台开发类笔试题2014校园招聘 武汉站
- 暴风影音笔试题 2014 武汉站
- 2014百度武汉站研发题
- 金山笔试题(武汉)
- C语言实现寻找两个字符串中的最大公共字符串长度
- Java语言基础
- element.tagName
- HTML5标签小结
- 程序员学数据库那些事儿
- 百度武汉站笔试题——算法题第一第二题Java实现
- Effective C++ 第二版 13) 初始化列表 14) 虚析构函数
- 策略模式
- 从Xcode 5.0安装开始……
- adb 命令大全
- Problem D: CX and girls
- Leetcode: Spiral Matrix II
- 快速傅里叶变换,使用C++ STL Complex 实现
- HTML5批量拖拽图片到网页