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()]);
}
}