呵
数组分解K个等和子数组
http://www.nowcoder.com/questionTerminal/c44272a97c8147a5a47f65143c6bd2d3
说实话,因为java读这个题的数据太麻烦了,后面我确实是一通乱写,没想到过了。
import java.util.Arrays; import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); String s=sc.nextLine(); StringBuilder sb=new StringBuilder(s); for(int i=0;i<sb.length();i++) { if((sb.charAt(i)=='[')||(sb.charAt(i)==']')||(sb.charAt(i)==' ')) { sb.deleteCharAt(i); } if(sb.charAt(i)==';') { sb.setCharAt(i, ','); } } s=sb.toString(); String[] str=s.split(","); int[] num=new int[str.length-1]; for(int i=0;i<str.length-1;i++) { num[i]=Integer.parseInt(str[i]); } int k=Integer.parseInt(str[str.length-1]); if(devide(num,k)) { System.out.println("True"); }else { System.out.println("False"); } } public static boolean devide(int[] num,int k) { int sum=0; for(int i=0;i<num.length;i++) { sum+=num[i]; } if (sum%k!=0) { return false; }else { int ave=sum/k; for(int i=0;i<num.length;i++) { if(num[i]>ave) { return false; } } } return true; } }