250 public class HowEasy { public boolean isWord(String word) { if (word.equals("") || word.trim().equals("")) return false; int i; int length = word.length(); for(i = 0; i < length - 1; i++) { if(!((word.charAt(i)>='a' && word.charAt(i)<='z') || (word.charAt(i)>='A' && word.charAt(i)<='Z'))) return false; } if(!((word.charAt(i)>='a' && word.charAt(i)<='z') || (word.charAt(i)>='A' && word.charAt(i)<='Z') || (i != 0 && word.charAt(i)=='.'))) return false; return true; } public int pointVal(String problemStatement) { int wordsLen = 0; int wordsNum = 0; int value = 0; int ans = 0; String[] words = problemStatement.trim().split(" "); int count = words.length; for(int i = 0; i < count; i++) { if(isWord(words[i])) { wordsNum ++; wordsLen += words[i].length(); if(words[i].indexOf(".") != -1) wordsLen --; } } if(wordsNum == 0) return 250; value = (int)wordsLen/wordsNum; if(value <= 3) ans = 250; else if(value == 4 || value == 5) ans = 500; else if(value >=6) ans = 1000; return ans; } } 500 public class SquareDigits { public int num[][] = new int[200][2]; private int flag[] = new int[200]; public void init() { for( int i = 0; i < 200; i++ ) { num[i][0] = i; num[i][1] = -1; flag[i] = -1; } num[0][1] = 0; num[1][1] = 1; flag[0] = 1; flag[1] = 1; } public void genAns() { int count = 198; int n = 0; int sum = 0; int temp = 0; for(int i = 2; ;i++) { n = i; while(true) { sum = n; n = 0; while(sum > 0) { temp = sum%10; n += temp * temp; sum /= 10; } if(n<200 && num[n][1] != -1) break; else if(n<200) { num[n][1] = i; if(flag[n] == -1) { flag[n] = 1; count --; } } if(count <= 0) break; } if(count <= 0) break; } } public int smallestResult(int n) { init(); genAns(); return num[n][1]; } }