由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 寻找下一个回文数
相关主题
最长回文串Palindrome那题,OJ上通不过
面试题Facebook电话面试总结
发几个小公司的题目leetcode里的Palindrome partition问题
请教一道面试题GOOG intern interview 题目
这个题目怎么做问个题
弱问:Given two binary strings, return their sum能用c做吗?[合集] 微软面试题一道
分享Imo电面题【一个BB公司问的字母排序的问题】
Palindrome那题,OJ上通不过今天G家电面的一道题
相关话题的讨论汇总
话题: string话题: int话题: palindrome话题: char话题: s1
进入JobHunting版参与讨论
1 (共1页)
d********w
发帖数: 363
1
Given a number n you have to find the nearest palindrome of n just greater
than n.
b***e
发帖数: 1419
2
Split the string s into halves: s1 and s2.
If s1.concat(s1.reverse()) is bigger than s, then done.
Otherwise, let s1 be parseInt(s1) + 1, return s1.concat(s1.reverse()).
Two edge cases:
1. Case study the length of s: odd vs. even.
2. s1 is all '9'.
d******u
发帖数: 397
3
int find_next_palindrome(int a){
String b = Integer.toString(a);
int l = b.length()/2;
if (b.length()%2 == 1){
l++;
}
int c = (int)Math.pow(10, l);
int d = a/c;
String e=Integer.toString(d+1);
String re=reverse_string(e);//helper function
if (b.length()%2 == 1){
e+=b.charAt(b.length()/2);
}
e+=re;
return Integer.parseInt(e);
}
String reverse_string(String in){
char[] a=in.toCharArray();
for(int i=0,j=a.length-1;i char c = a[i]; a[i]=a[j]; a[j]=c;
}
return String.valueOf(a);
}
b***e
发帖数: 1419
4
In other words, s1 includes the middle char, as one of the edge case I
identified.

【在 d******u 的大作中提到】
: int find_next_palindrome(int a){
: String b = Integer.toString(a);
: int l = b.length()/2;
: if (b.length()%2 == 1){
: l++;
: }
: int c = (int)Math.pow(10, l);
: int d = a/c;
: String e=Integer.toString(d+1);
: String re=reverse_string(e);//helper function

1 (共1页)
进入JobHunting版参与讨论
相关主题
今天G家电面的一道题这个题目怎么做
题目来啦弱问:Given two binary strings, return their sum能用c做吗?
面试题palindrome分享Imo电面题
回文数的问题Palindrome那题,OJ上通不过
最长回文串Palindrome那题,OJ上通不过
面试题Facebook电话面试总结
发几个小公司的题目leetcode里的Palindrome partition问题
请教一道面试题GOOG intern interview 题目
相关话题的讨论汇总
话题: string话题: int话题: palindrome话题: char话题: s1