zoukankan      html  css  js  c++  java
  • 01排序的Java实现

    比赛描写叙述:

    01串首先按长度排序。长度同样时。按1的个数多少进行排序,1的个数同样时再按ASCII码值排序。


    输入:

    输入数据中含有一些01串,01串的长度不大于256个字符。

    输出:

    又一次排列01串的顺序。使得串按基本描写叙述的方式排序。

    例子输入:

    10011111
    00001101
    1010101
    1
    0
    1100

    例子输出:

    0
    1
    1100
    1010101
    00001101
    10011111

    被AC的代码例如以下:

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args)
    	{
    		Scanner sc = new Scanner(System.in);
    		String[] str = new String[256];
    		int i=0;
    		while(sc.hasNextLine())
    		{
    			String inStr = sc.nextLine();
    			if(inStr.equals(""))
    			{
    				break;
    			}
    			str[i++]=inStr;
    		}
    		for(int j=0;j<i;j++)
    		{
    			for(int y=0;y<i-j-1;y++)
    			{
    				if(cmpStr(str[y],str[y+1])==1)
    				{
    					String temp = str[y+1];
    					str[y+1] = str[y];
    					str[y] = temp;
    				}
    			}
    		}
    		for(int j=0;j<i;j++)
    		{
    			System.out.println(str[j]);
    		}
    	}
    	private static int cmpStr(String s,String t)
    	{
    		if(s.length()<t.length())
    		{
    			return -1;
    		}
    		if(s.length()>t.length())
    		{
    			return 1;
    		}
    		if(s.length()==t.length())
    		{
    			if(NumOfOne(s)<NumOfOne(t))
    			{
    				return -1;
    			}else if(NumOfOne(s)>NumOfOne(t))
    			{
    				return 1;
    			}else
    			{
    				for(int m=0;m<s.length();m++)
    				{
    				if(s.charAt(m)>t.charAt(m))
    				{
    					return 1;
    				}else if(s.charAt(m)<t.charAt(m))
    				{
    					return -1;
    				}else
    				{
    					return 0;
    				}
    				}
    			}
    		}
    		return 0;
    	}
    	private static int NumOfOne(String s)
    	{
    		if(s==null||s.length()==0)
    		{
    			return 0;
    		}
    		int sum=0;
    		for(int i=0;i<s.length();i++)
    		{
    			if(s.charAt(i)=='1')
    			{
    				sum++;
    			}
    		}
    		return sum;
    	}
    }
    


  • 相关阅读:
    查看hbase中的中文
    查看hbase中的中文
    scala使用hbase新api
    scala使用hbase新api
    IDEA15使用maven编译scala和java
    IDEA15使用maven编译scala和java
    IDEA非sbt下spark开发
    IDEA非sbt下spark开发
    sed初学者实用说明
    sed初学者实用说明
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7210728.html
Copyright © 2011-2022 走看看