learnsomething247
BAN USERpublic class Range {
public static void main(String... a) {
int[] arr = {1, 2, 5, 8, 9, 13};
// int[] arr = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
int ele = 8;
int rangeSize = 4;
findRange(arr, ele, rangeSize);
}
private static void findRange(int[] arr, int ele, int rangeSize) {
int mid = bsearch(arr, ele);
expand(arr, mid, rangeSize);
}
private static int bsearch(int[] arr, int ele) {
int low = 0;
int high = arr.length;
int mid = -1;
while (low <= high) {
mid = (high - low) / 2;
if (arr[mid] == ele) {
break;
} else if (arr[mid] < ele) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return mid;
}
private static void expand(int[] arr, int loc, int rangeSize) {
int end = loc + 1;
int start = loc - 1;
System.out.print(arr[loc] + " ");
for (int i = 0; i < rangeSize - 1; ++i) {
if (arr[loc] - arr[start] > arr[end] - arr[loc]) {
System.out.print(arr[end] + " ");
++end;
} else {
System.out.print(arr[start] + " ");
--start;
}
}
}
}
package com.sk.misc;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class SetPresence {
public static void main(String[] args) {
Set<Integer> s1 = new HashSet<Integer>();
s1.addAll(Arrays.asList(1, 2));
Set<Integer> ss1 = new HashSet<Integer>();
ss1.addAll(Arrays.asList(1, 2, 4));
Set<Integer> ss2 = new HashSet<Integer>();
ss2.addAll(Arrays.asList(1, 2, 8, 9));
Set<Integer> x1 = new HashSet<Integer>();
x1.addAll(Arrays.asList(1, 2));
Set<Integer> xx1 = new HashSet<Integer>();
xx1.addAll(Arrays.asList(1, 5, 6));
Set<Integer> xx2 = new HashSet<Integer>();
xx2.addAll(Arrays.asList(2, 3, 1));
System.out.println(exists(s1, ss1, ss2));
System.out.println(exists(x1, xx1, xx2));
}
@SafeVarargs
public static boolean exists(Set<Integer> set, Set<Integer>... setList) {
for (Set<Integer> s : setList) {
if (!s.containsAll(set)) {
return false;
}
}
return true;
}
}
public class DayHalf {
private String val;
public static DayHalf AM = new DayHalf("AM");
public static DayHalf PM = new DayHalf("PM");
public DayHalf(String val) {
super();
this.val = val;
}
public static void main(String[] args) {
DayHalf dh1 = DayHalf.AM;
DayHalf dh2 = DayHalf.PM;
}
}
public static boolean isBalanced(String equation) {
Stack<String> stack = new Stack();
for (int i = 0; i < equation.length(); ++i) {
char c = equation.charAt(i);
if (c == '(')
stack.push("(");
else if (c == ')') {
stack.pop();
}
}
return stack.isEmpty();
}
public class TaxonomyCount {
public static void main(String[] args) throws IOException {
Map<String, Integer> map = new ConcurrentHashMap<>();
Path filePath = Paths.get("taxonomy.txt");
List<String> lines = Files.lines(filePath).collect(Collectors.toList());
for (String line : lines) {
if (line.startsWith("#") || !line.startsWith("Electronics"))
continue;
StringBuffer sb = new StringBuffer();
String[] tokens = line.split(">");
for (int i = 0; i < tokens.length; ++i) {
sb.append(tokens[i].trim());
int count = map.getOrDefault(sb.toString(), 0);
map.put(sb.toString(), ++count);
if (i < tokens.length - 1) {
sb.append(">");
}
}
}
System.out.println(map.get("Electronics>Arcade Equipment"));
System.out.println(map.get("Electronics>Arcade Equipment>Skee-Ball Machines"));
}
}
- learnsomething247 September 05, 2017