一道算法(java)

问题来自:http://bbs.csdn.net/topics/392136535?page=1#post-402184192


String[]?arg={1,2,3,4,5,6,7,8,9,10,11,12}判断1到6??2到7以此类推???如果这个六个数是连续的??则返回true 。


过程:

public byte join(String[] r, int s, char ch) {
  if(null == r || r.length == 0) {
     return 0x00;
  }
  byte f = 0x00;
  char t = 0x00;
  String[] tt = null;
  char[] c = r.toCharArray();
  for(int i = 0; i < c.length; i++) {
     if(c[i] > 0x39) {
         f = 0x00;
         break;
     } else if( i < c.length - 1) {
         t = c[i];
         f = (t[i] + 1) == c[i + 1] ? 0x01 : 0x00;
         if(!f) {
            break;
         }
     } else {
         if( c.length == 1) {
            f = (ch + 1) == c[i] ? 0x01 : 0x00;
            if(!f) {
               break;
            }
         } else {
             t = c[i - 1];
             f = (t[i] + 1) == c[i] ? 0x01 : 0x00;
             if(!f) {
                break;
             }
         }
     }
     if(i == s && r.length > s) {
        tt = r;
        r = new String[tt.length - s];
        System.copyarray(tt, s, r, 0, r.length);
        f = join(r, s, tt[s]);
     } 
  }
  return f;
}
个人观点:使用c或c++会方便编写.


相关内容推荐