Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function generate(A, B, C, D) {
- var combinations = []
- arguments = Array.from(arguments)
- for (var i = 0; i < 4; i++) {
- for (var j = 0; j < 4; j++) {
- if (i !== j) {
- var num = +(arguments[i] + '' + arguments[j])
- if (num <= 59 && combinations.indexOf(num) === -1)
- combinations.push(num)
- }
- }
- }
- combinations.sort((a, b) => a - b);
- var hours = combinations.filter(hour => hour <= 23);
- for (var i = hours.length - 1; i >= 0; i--) {
- for (var j = combinations.length - 1; j >= 0; j--) {
- if (computeMax(hours[i], combinations[j], arguments))
- return hours[i] + ':' + combinations[j]
- }
- }
- return 'not possible'
- }
- function computeMax(maxHour, maxMinute, args) {
- var minute = String(maxMinute)
- var hour = String(maxHour)
- for (var k = 0; k < minute.length; k++)
- if (hour.indexOf(minute[k]) > -1 && args.indexOf(+minute[k]) === args.lastIndexOf(+minute[k]))
- return false
- return true
- }
- console.log('generate(1,7,2,7)', generate(1,7,2,7))
- console.log('generate(6,5,2,0)', generate(6,5,2,0))
- console.log('generate(3,9,5,0)', generate(3,9,5,0))
- console.log('generate(7,6,3,8)', generate(7,6,3,8))
- console.log('generate(0,1,2,3)', generate(0,1,2,3))
- console.log('generate(1,1,1,2)', generate(1,1,1,2))
- console.log('generate(1,1,1,1)', generate(1,1,1,1))
- console.log('generate(5,6,7,8)', generate(5,6,7,8))
- console.log('generate(2,9,3,1)', generate(2,9,3,1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement