Skip to content

Commit aea8c35

Browse files
committed
Solving problems in Arcade Intro with TypeScript or PHP
1 parent 7e54676 commit aea8c35

22 files changed

Lines changed: 80 additions & 1 deletion

File tree

Arcade/Graphs/1_Kingdom_Roads/01_New_Road_System/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
mainimport numpy
1+
import numpy
22
def newRoadSystem(roadRegister):
33
npRoadRegister = numpy.array(roadRegister)
44
for i in range(len(roadRegister)):
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
function newRoadSystem(roadRegister: boolean[][]): boolean {
2+
let rows: number[] = new Array(roadRegister.length).fill(0);
3+
let columns: number[] = new Array(roadRegister[0].length).fill(0);
4+
for (let i: number = 0; i < roadRegister.length; i++) {
5+
for (let j: number = 0; j < roadRegister[i].length; j++) {
6+
if (roadRegister[i][j]) {
7+
rows[i]++;
8+
columns[j]++;
9+
}
10+
}
11+
}
12+
for (let i: number = 0; i < rows.length; i++) {
13+
if (rows[i] !== columns[i]) {
14+
return false;
15+
}
16+
}
17+
return true;
18+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
function add($param1, $param2) {
2+
return $param1 + $param2;
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
function add(param1: number, param2: number): number {
2+
return param1 + param2;
3+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
function centuryFromYear(year: number): number {
2+
if (year <= 100)
3+
return 1;
4+
else if (year % 100 == 0)
5+
return year / 100;
6+
else
7+
return Math.floor(year / 100) + 1;
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
function checkPalindrome(inputString: string): boolean {
2+
let l: number = inputString.length;
3+
if (l < 2) return true;
4+
for (let i: number = 0; i <= (l / 2); i++) {
5+
if (!(inputString.substring(i, i + 1) === inputString.substring(l - 1 - i, l - i)))return false;
6+
}
7+
return true;
8+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
function adjacentElementsProduct(inputArray: number[]): number {
2+
let result: number = -1000;
3+
for (let i: number = 0; i < inputArray.length - 1; i++) {
4+
if (inputArray[i] * inputArray[i + 1] > result) {
5+
result = inputArray[i] * inputArray[i + 1];
6+
}
7+
}
8+
return result;
9+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
function shapeArea(n: number): number {
2+
let result: number = 1;
3+
for (let i: number = 1; i < n + 1; i++) {
4+
result = result + 4 * i - 4;
5+
}
6+
return result;
7+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
function makeArrayConsecutive2(statues: number[]): number {
2+
return Math.max(...statues) - Math.min(...statues) - statues.length + 1;
3+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
function almostIncreasingSequence(sequence: number[]): boolean {
2+
let sequence1: number[] = sequence.slice();
3+
let sequence2: number[] = sequence.slice();
4+
for (let i: number = 1; i < sequence.length; i++) {
5+
if (sequence[i-1] >= sequence[i]) {
6+
sequence1.splice(i-1, 1);
7+
sequence2.splice(i, 1);
8+
break;
9+
}
10+
}
11+
if (sequence.length === sequence2.length) return true;
12+
let seq1: boolean = false;
13+
let seq2: boolean = false;
14+
for (let i: number = 1; i < sequence1.length; i++) {
15+
if (sequence1[i-1] >= sequence1[i]) seq1 = true;
16+
if (sequence2[i-1] >= sequence2[i]) seq2 = true;
17+
if (seq1 && seq2) return false;
18+
}
19+
return true;
20+
}

0 commit comments

Comments
 (0)