class Solution { public int countPrimes(int n) { int count = 0; for (int i = 2; i < n; i++){ if (isPrime(i)) count++; } return count; } public boolean isPrime(int n){ for (int i = 2; i*i <= n; i++){ if ( n % i == 0) return false; } return true; } }
Monthly Archives: May 2019
637. Average of Levels in Binary Tree
637. Average of Levels in Binary Tree
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public List averageOfLevels(TreeNode root) { List out = new ArrayList(); Queue q = new LinkedList(); q.add(root); while(! q.isEmpty()){ int len = q.size(); Double sum = 0.0; for (int i = 0; i < len; i++){ TreeNode c = q.remove(); if (c != null){ sum += c.val; if(c.left !=null)q.add(c.left); if(c.right != null)q.add(c.right); } } out.add(sum/len); } return out; } }
868. Binary Gap
class Solution { public int binaryGap(int N) { String binary = Integer.toBinaryString(N); int first = 0; while (first < binary.length() && binary.charAt(first) != '1'){ first ++;} if (first == binary.length()) return 0; int diff = Integer.MIN_VALUE; int current = first; for (int i = first+1; i diff){ diff = i - current; } current = i; } } if (diff == Integer.MIN_VALUE) return 0; return diff; } }
884. Uncommon Words from Two Sentences
884. Uncommon Words from Two Sentences
class Solution { public String[] uncommonFromSentences(String A, String B) { List outputList = new ArrayList(); String[] As = A.split(" "); String[] Bs = B.split(" "); Map s = new HashMap(); for (int i = 0; i < As.length; i++){ if(s.get(As[i]) == null) s.put(As[i],1); else s.put(As[i],s.get(As[i])+1); } for (int i = 0; i < Bs.length; i++){ if(s.get(Bs[i]) == null) s.put(Bs[i],1); else s.put(Bs[i],s.get(Bs[i])+1); } for (String a: s.keySet()){ if ( s.get (a) == 1) outputList.add(a); } return outputList.toArray(new String[outputList.size()]); } }