Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Cola Machine
//'main' method must be in a class 'Rextester'. //Compiler version 1.8.0_111 import java.util.*; import java.lang.*; class Rextester { public static void main(String args[]) { List<Interval> buttons = Arrays.asList( new Interval(100, 120), new Interval(200, 240), new Interval(400, 410) ); Solution sol = new Solution(); System.out.println(sol.colaMachine(buttons, new Interval(200, 360))); } } class Solution { List<Interval> buttons; Interval target; public boolean colaMachine(List<Interval> buttons, Interval target) { this.buttons = buttons; this.target = target; for (int i = 0; i < buttons.size(); i++) { // make sure you have to prcess some button // so target start from zero won't be classified as true if (DFS(i, buttons.get(i).start, buttons.get(i).end)) return true; } return false; } private boolean DFS(int fromIndex, int start, int end) { System.out.format("%d, %d, %d\n", fromIndex, start, end); if (start >= target.start && end <= target.end) return true; if (fromIndex == buttons.size()) return false; if (end - start <= target.end - target.start && end <= target.end) { if (DFS(fromIndex + 1, start, end)) return true; start += buttons.get(fromIndex).start; end += buttons.get(fromIndex).end; if (DFS(fromIndex, start, end)) return true; } return false; } } class Interval { int start, end; public Interval (int s, int e) { start = s; end = e; } }
run
|
edit
|
history
|
help
0
Java Functional Programming
add2
Java Procedural Progamming
Piramid
Date and Time
Zombie virus
practicecode
Car Sensors
Assignment for Web Software Developer position
Check Input