设为首页 收藏本站
查看: 766|回复: 0

[经验分享] 华为笔试 排序题

[复制链接]

尚未签到

发表于 2016-6-6 08:48:30 | 显示全部楼层 |阅读模式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>split</title>
<script type="text/javascript">
//数组合并
var MergerArray=function(arr1,arr2)
{

var arr1Len=arr1.length;
var arr2Len=arr2.length;
var strArr=new Array();
var i=0;
var j=0;
var flag=true;
while(flag){
  if(i<arr1Len){
   strArr.push(arr1);
   i++;
  }
  if(j<arr2Len){
   strArr.push(arr2[j]);
   j++;
  }
  if(i>=arr1Len&&j>=arr2Len)
  {
   flag=false;
  }
}
return strArr;
}

var ConpareString=function(str1,str2)
{
var flag=0;
//以数字作为分割符
var regS=/\d/;
//以非数字作为分割符
var regN=/\D/;
var str1ArrArp=str1.split(regS);
var str1ArrNum=str1.split(regN);
var str2ArrArp=str2.split(regS);
var str2ArrNum=str2.split(regN);
var str1Arr=new Array();
if(str1.substring(0,1).match(regS)){
str1Arr=MergerArray(str1ArrNum,str1ArrArp);
}
else{
str1Arr=MergerArray(str1ArrArp,str1ArrNum);
}

var str2Arr=new Array();
if(str2.substring(0,1).match(regS)){
str2Arr=MergerArray(str2ArrNum,str2ArrArp);
}
else{
str2Arr=MergerArray(str2ArrArp,str2ArrNum);
}
//计算最小的数组长度
var minLen=str1Arr.length;
if(minLen<str2Arr.length){minLen=str2Arr.length};
for(var i=0;i<minLen;i++){
  var int1=0;
  var int2=0;
  if(!isNaN(parseInt(str1Arr))){int1=parseInt(str1Arr)};
  if(!isNaN(parseInt(str2Arr))){int2=parseInt(str2Arr)};
  if(int1!=0 && int2!=0)
  {
   if(int1>int2){
    flag=1;
    break;
   }else if(int1<int2){
    flag=-1;
    break;
   }
  }else{
   if(str1Arr.localeCompare(str2Arr)>0){
    flag=1;
    break;
   }else if(str1Arr.localeCompare(str2Arr)<0){
    flag=-1;
    break;
   }
  }
}
return flag;
}
var SortArray=function(strs){
var strsLen=strs.length;
for(var i=0;i<strsLen;i++){
  for(j=strsLen-1;j>i;j--){
   if(ConpareString(strs[j],strs[j-1])<0)
   {
   tmp=strs[j];
   strs[j]=strs[j-1];
   strs[j-1]=tmp;
   }
  }
}
return strs;
}

var strs=new Array();
strs.push("A2C");
strs.push("A25");
strs.push("1A9");
strs.push("A10Df");
strs.push("A15");
strs.push("A2C");
strs.push("A25");
strs.push("1A9");
strs.push("A10Df");
strs.push("A15");
document.writeln(SortArray(strs));
</script>
</head>

<body>
</body>
</html>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-226835-1-1.html 上篇帖子: 华为笔试 java 试题 下篇帖子: 华为面试题3
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表