-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvArray.mjs
79 lines (66 loc) · 2.26 KB
/
vArray.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*********************************************************************
* ************************* This Code was writen by *****************
* ************************** ANAMBOI JOHNA DUKO**********************/
//NOTE if you are downloading this alone, download the data.mjs file for testing data, or use ur own data for testing
import { data20, data20Sorted, fish, a3b3m2ab, a3b3c3m3abc } from "./data.mjs";
export default function arrayVisualizer(arr) {
let maximum = Math.max(...arr)-1;
// console.log(maximum, " Maximum");
function visualize(max) {
if (max == -1) return;
let block = "";
for (let el of arr) {
el > max ? (block += "* ") : (block += " ");
}
console.log(block);
visualize(max - 1);
}
visualize(maximum);
return "Done";
}
// console.log(arrayVisualizer(data20));
// console.log(arrayVisualizer(data20Sorted));
function arrayVisualizer1(arr) {
let maximum = Math.max(...arr);
let minimum = Math.min(...arr);
function visualize(max) {
if(minimum<0){
if (max < minimum+1) return;
}else{
if (max < 0) return;
}
let block = "";
for (let el of arr) {
max > 1? (el >= max )? block += "* " : block += " ":
max < 1? (el + 2 <= max) ? block += "* " : block += " ":block += "* ";
}
console.log(block);
visualize(max - 1);
}
visualize(maximum);
return "Done";
}
// console.log(arrayVisualizer1([4, 4, 4, 4]))
function arrayVisualizer2(arr) {
let maximum = Math.max(...arr);
let minimum = Math.min(...arr);
function visualize(max) {
if(max == 0) max = -1;
if(minimum<0) if (max < minimum) return;
else null;
else if (max < 0 ) return;
let block = "";
for (let el of arr) {
max > 0? (el >= max )? block += "0 " : block += " ":
max < 0? (el <= max) ? block += "1 " : block += " ":block += " ";
}
console.log(block);
visualize(max - 1);
}
visualize(maximum);
return "Done";
}
console.log(arrayVisualizer2(a3b3m2ab))
// console.log(arrayVisualizer2(a3b3c3m3abc))
//console.log(arrayVisualizer2(fish))
//console.log(arrayVisualizer2([1, 2, 3, 4,5,6,7,6,5,4,3,2,1,2,3,4,5,6,5,4,3,2,1,2,3,4, 5,4,3,2,1,2,3,4,3,2,1,2,3,2,1, -1, -2, -3, -4,-5,-6,-7,-6,-5,-4,-3,-2,-1,-2,-3,-4,-5,-6,-5,-4,-3,-2,-1,-2,-3,-4,-5,-4,-3,-2,-1,-2,-3,-4,-3,-2,-1,-2,-3,-2,-1]))