写代码效率还是太慢了
public int GetFragment (String str) {
Queue<Integer> list=new LinkedList<>();
Stack<Character> s=new Stack<>();
int i=0,sum=0,out;
for(char c:str.toCharArray()){
if(s.isEmpty()){
s.push(c);
i++;
}else if(!s.isEmpty()&&s.peek()==c){
s.push(c);
i++;
}else if(!s.isEmpty()&&s.peek()!=c){
while(!s.isEmpty()){
s.pop();}
list.add(i);
s.push(c);
i=1; } }
if(!s.isEmpty()){
while(!s.isEmpty()){
s.pop();}
list.add(i); }
int l=list.size();
for(int j=0;j<l;j++){
sum+=list.poll(); }
System.out.println(!str.isEmpty()?sum/l:0);
return !str.isEmpty()?sum/l:0;
}
}
Queue<Integer> list=new LinkedList<>();
Stack<Character> s=new Stack<>();
int i=0,sum=0,out;
for(char c:str.toCharArray()){
if(s.isEmpty()){
s.push(c);
i++;
}else if(!s.isEmpty()&&s.peek()==c){
s.push(c);
i++;
}else if(!s.isEmpty()&&s.peek()!=c){
while(!s.isEmpty()){
s.pop();}
list.add(i);
s.push(c);
i=1; } }
if(!s.isEmpty()){
while(!s.isEmpty()){
s.pop();}
list.add(i); }
int l=list.size();
for(int j=0;j<l;j++){
sum+=list.poll(); }
System.out.println(!str.isEmpty()?sum/l:0);
return !str.isEmpty()?sum/l:0;
}
}
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享

点赞 评论 收藏
分享
点赞 评论 收藏
分享