码迷,mamicode.com
首页 > 编程语言 > 详细

微软算法100题25 查找连续最长的数字串

时间:2015-10-26 12:03:18      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:

第25 题:
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr 所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,
outputstr 所指的值为123456789

思路:两个指针,一个保存当前最长长度的变量max,然后移动指针,直到到字符串尾即可

 

 1 package com.rui.microsoft;
 2 
 3 public class Test25_FindLongestDigitString {
 4 
 5     public static void main(String[] args) {
 6         String s = "abcd12345ed125ss12345678900adb11";
 7         int max = find(s);
 8         System.out.println(max);
 9     }
10     
11     public static int find(String s){
12         if(null == s || s.isEmpty()) return 0;
13         char[] chars = s.toCharArray();
14         int max = 0;
15         int start = 0, cur = 0;
16         int len = chars.length;
17         while(cur < len){
18             while(cur < len && !isDigit(chars[cur])){
19                 cur++;
20             }
21             start = cur;
22             while(cur < len && isDigit(chars[cur])){
23                 cur++;
24             }
25             max = max > (cur - start) ? max : (cur-start);
26         }
27         
28         return max;
29     }
30     
31     private static boolean isDigit(char c){
32         return c >= ‘0‘ && c <= ‘9‘;
33     }
34 }

 

微软算法100题25 查找连续最长的数字串

标签:

原文地址:http://www.cnblogs.com/aalex/p/4910666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!