区块链技术博客
www.b2bchain.cn

<新浪微博笔试2>判断字符数组中所有字符只出现一次

这篇文章主要介绍了<新浪微博笔试2>判断字符数组中所有字符只出现一次,通过具体代码讲解8726并且分析了<新浪微博笔试2>判断字符数组中所有字符只出现一次的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了<新浪微博笔试2>判断字符数组中所有字符只出现一次。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/8726.html。具体如下:

<新浪微博笔试2>判断字符数组中所有字符只出现一次 

package lzl.bishi;  import java.util.Scanner;  public class Wb02 {     public static void main(String[] args) {         Scanner sc=new Scanner(System.in);         String str=sc.nextLine();         System.out.println(solve(str.toCharArray()));     }     public static boolean solve(char[] strs){         if(strs==null||strs.length==0) return true;         hps(strs);         for (int i = 1; i <strs.length ; i++) {             if(strs[i]==strs[i-1]) return  false;         }         return true;     }     public static  void hps(char[] strs){         int len=strs.length;         for (int i = len/2; i >-1 ; i--) {              adj(strs,i,len);          }         for (int i = len-1; i >-1 ; i--) {             swap(strs,i,0);             adj(strs,0,i);         }     }     private static  void adj(char[] strs,int p,int size){                  for (int i = p; i <size ; i++) {             int l=i*2+1; int r=i*2+2;             int max=i;             if(l<size){                  char t=strs[0];                  if(strs[i]<strs[l]) max=l;                 if(r<size && strs[r]>strs[max]) max=r;                 if(max!=i) swap(strs,i,max);             }else break;         }      }      private static  void swap(char[] nums,int a,int b){         char t=nums[a];         nums[a]=nums[b];         nums[b]=t;     }  } 

 

本文地址https://www.b2bchain.cn/8726.html

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » <新浪微博笔试2>判断字符数组中所有字符只出现一次
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们