您的位置:首页 > 其它

神州数码笔试题目

2008-05-14 23:45 197 查看
日志 > 软件编程


转载到我空间

复制本文网址 显示签名档 大字体 选用该信纸
上一篇|下一篇|返回日志列表

设置置顶 | 编辑 | 删除

神州数码笔试题目

发表于:2008年4月26日 22时43分35秒阅读(6)评论(0)本文链接:http://user.qzone.qq.com/169188811/blog/1209221015



[align=center]神州数码笔试题目[/align]


由 rain200485 于 周三, 11/07/2007 - 05:43 提交。
**
* 神州数码笔试题目
* 原题:1.找出两个字符串中最大子字符串,如"abractyeyt","dgdsaeactyey"的最大子串为"actyet"
* 语言:实现语言 java
*
*/

import java.util.*;
public class SubString {
ArrayList ls = new ArrayList();
public void getSameString(String s1,String s2){
String s3 ="";//is the min string
String s4 ="";//is the max string
if(s1.length() > s2.length()){
s3 = s2;
s4 = s1;
}else{
s3 = s1;
s4 = s2;
}
String s = "";//存储最后得到的字符串
int len = s3.length();//is min length of the string
for(int i=0;i<len;i++){
int m = 0;
int ch = (int)s3.charAt(i);
int ch1 = (int)s4.charAt(m);
if(ch == ch1){
for(int j=i;j<len;j++){
ch = (int)s3.charAt(j);
ch1 = (int)s4.charAt(m);
if(ch1 == ch){
s = s + String.valueOf(s3.charAt(j));
}else{
if(!s.equals(""))
ls.add(s);
s = "";
break;
}
m++;
}//end for
if(!s.equals(""))
ls.add(s);
s = "";
}else{
//循环找到一个首字母相同
while(m < s4.length()){
ch1 = (int)s4.charAt(m);
ch = (int)s3.charAt(i);//重要,不要叫下面的给覆盖
if(ch == ch1){
for(int j=i;j<len&&m<s4.length();j++){
ch = (int)s3.charAt(j);
ch1 = (int)s4.charAt(m);
//System.out.println("ch : "+s3.charAt(j) + " : "+s4.charAt(m));
if(ch == ch1){
s = s + String.valueOf(s3.charAt(j));
}else{
if(!s.equals(""))
ls.add(s);
s = "";
m--;
break;
}
m++;
}//end inner for
if(!s.equals(""))
ls.add(s);
s = "";
}else{
m++;
continue;
}
m++;
}//end while
}//end else
}
}
public String getMaxSameString(String s1,String s2){
getSameString(s1,s2);
String s = "";
int len = 0;
for(int i=0;i<ls.size();i++){
String sub = (String)ls.get(i);
if(sub.length() > len){
s = sub;
len = sub.length();
}
}
return s;
}
public static void main(String[] args){
SubString sub = new SubString();
if(args.length < 2){
System.out.println("please input the string");
return;
}
System.out.println(sub.getMaxSameString(args[0],args[1]));
}
}

/**
* 神州数码笔试题目
* 2.有一百个整数,其中有负数,找出连续三个数之和最大的部分.
* 语言:实现语言 java
*
*/
public class MaxTest {
public int getThreeMax(int[] count){
int max = 0;
int j = -1;
for(int i=0;i<count.length;i++){
if((i + 2) < count.length){
if(count[i] < 0){
continue;
}
else if(count[i+1] < 0){
i = i + 1;
continue;
}
else if(count[i+2] < 0){
i = i + 2;
continue;
}
else{
if(max < (count[i] + count[i+1]+count[i+2])){
max = (count[i] + count[i+1]+count[i+2]);
j = i;
}
}
}else{
break;
}
}//end for
return j;
}
public static void main(String[] args){
MaxTest max = new MaxTest();
int[] count = {-3,4,6,8,-9,7,10,-6,20,-9};
int mark = max.getThreeMax(count);
if(mark == -1){
System.out.println("the count you do is not right");
}else{
System.out.println(count[mark]);
System.out.println(count[mark+1]);
System.out.println(count[mark+2]);
}
}
}




想第一个看到日志抢沙发?
评论列表

声明:QQ空间提醒用户务必通过合法捐赠渠道向灾区捐款,切勿向个人帐户汇款,谨防上当受骗。
了解各界捐助动态及捐赠渠道,请点击此处
发表评论
第一页 上一页 下一页 最后页
0篇评论,第1页/共0页

全选删除
批量删除 取消批量删除

第一页 上一页 下一页 最后页
0篇评论,第1页/共0页

使用签名档 请选择道具
请选择道具
隐身草
彩虹炫
天使之爱

点击这里发表评论
温馨提示:点击验证码输入框,以获取验证码

请输入验证码:
提交 取消 悄悄话 | (以小纸条形式发送) 查看今日免费发送数量

上一篇|下一篇|返回日志列表

//function jumpToTop() {
if(isSmall) {
document.body.scrollTop = 0;
}
else
parent.$('mbody').scrollTop = 0;
}

function _quote(s){
s=s.replace(//[quote/=引自:(.+?)(?:/x20| ){1,2}于/x20(.+?)/x20发表的评论/]/g,"/x03引自:$1 于 $2 发表的评论
/x02").replace(//[//quote/]/g,"/x01");
for(var i=0;i<2;i++)
s=s.replace(//x03([^/x03/x01/x02]*?)/x02([^/x03/x01/x02]*?)/x01/g, function(a,b,c){
return ''+b+'引用内容:

'+c+'';
});
return s.replace(/[/x03/x02/x01]/g,"");
}

var bLoaded = false;
function checkMsgReply(obj) {
if(!bLoaded)
top.includeJS('/qzone/blog/script/common.js', function(){bLoaded=true;checkMsgReply(obj)}, document);
else
checkReply(obj);

if(obj.checked){
MAX_COMMENT_LEN = 500;
}
else {
MAX_COMMENT_LEN = 4500;
}
_fontCount = MAX_COMMENT_LEN; //字数限制

if(!window.sendCommentEditor) return;
if(sendCommentEditor.editorArea.editMode == 1)
toCountFont(sendCommentEditor.id, "html");
else
toCountFont(sendCommentEditor.id, "text");
}

function showMsgLeftCnt() {
if(!bLoaded)
top.includeJS('/qzone/blog/script/common.js', function(){bLoaded=true;showMsgLeftCnt();}, document);
else
showLeftSMS();
}

function selectBlogPaper() {
if(checkLogin() <= 10000) {
top.showLoginBox("mall");
return;
}

if(!!top.g_JData["blogContent"]) {
if(parent.g_iLoginUin == parent.g_iUin) {
location.href="/qzone/newblog/blogeditor.html?paperid=" + parent.g_JData["blogContent"].data.lp_id + "&paperstyle=" + parent.g_JData["blogContent"].data.lp_style + "&paperdialog=1";
}
else {
parent.location.href="http://user.qzone.qq.com/" + parent.g_iLoginUin + "/addNewBlog?paperid=" + parent.g_JData["blogContent"].data.lp_id + "&paperstyle=" + parent.g_JData["blogContent"].data.lp_style;
}
}
else {
top.showMsgBox("抱歉,暂时无法获取该信纸信息!", 1, 2000);
}
}

/**
* 批量删除中选择全选
*/
function selectAllComments(bChecked) {
var oList = document.getElementsByName("commentCheckBox");
if(oList.length==0)
return;

for(var i=0; i 0){
dalert(null, parent.g_XDoc["delBatchReply"].xml, 2000);
delete parent.g_XDoc["delBatchReply"];
return;
}

dalert(null, parent.g_XDoc["delBatchReply"].xml, 2000, 2);
contentProperty.totalCommentNumber -= nDeleteCnt;
//清理cache
with(contentProperty){
delete parent.g_XDoc["blogRoot"].contentHSList[currentBlogid];
pageList = {};
pageIndexMap = [];
currentCommentPage = lastCommentPage = (!contentProperty.nowaPage)?0:nowaPage[3];
parent.g_XDoc["blogRoot"].replyNumUpdateHSmap[currentBlogid] = totalCommentNumber;
parent.isRefreshTop = true;
if(currentCommentPage == 0) {
setTimeout(contentInit, 1000);
}
else{
var tp = Math.ceil(totalCommentNumber/PAGE_COMMENT_NUM);
var num = totalCommentNumber%PAGE_COMMENT_NUM;
if(num==0 || currentCommentPage10000 && top.g_iLoginUin!=top.g_iUin) {
$("msgboardSelfReply").style.display = "";
$("blogSelPaper").title = "我也要使用此信纸写日志";
}

setTimeout(contentInit,50);
//]]>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: