Sha256: bdd46538c32ac593d18ef11218bdac523bd76d7a684f06f0a8f319ebc91ea087

Contents?: true

Size: 1.21 KB

Versions: 68

Compression:

Stored size: 1.21 KB

Contents

class SaddlePoints {
    static saddlePoints(matrix: number[][]) {
        const maximumRowValues: number[] = []
        const minimumColumnValues: number[] = []

        for (let i = 0; i <= matrix.length - 1; i++) {
            let maximumRowValue = Number.MIN_VALUE
            for (let j = 0; j < matrix[0].length; j++) {
                maximumRowValue = Math.max(maximumRowValue, matrix[i][j])
            }
            maximumRowValues.push(maximumRowValue)
        }

        for (let i = 0; i <= matrix[0].length - 1; i++) {
            let minimumColumnValue = Number.MAX_VALUE
            for (let j = 0; j <= matrix.length - 1; j++) {
                minimumColumnValue = Math.min(minimumColumnValue, matrix[j][i])
            }
            minimumColumnValues.push(minimumColumnValue)
        }

        const resultPoints: Array<{row: number, column: number}> = []
        for (let i = 0; i < maximumRowValues.length; i++) {
            for (let j = 0; j < minimumColumnValues.length; j++) {
                if (maximumRowValues[i] === minimumColumnValues[j]) {
                    resultPoints.push({row: i, column: j})
                }
            }
        }

        return resultPoints
    }
}

export default SaddlePoints

Version data entries

68 entries across 68 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.179 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.178 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.177 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.176 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.175 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.174 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.173 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.172 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.171 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.170 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.169 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.167 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.166 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.165 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.164 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.163 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.162 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.161 tracks/typescript/exercises/saddle-points/saddle-points.example.ts
trackler-2.2.1.160 tracks/typescript/exercises/saddle-points/saddle-points.example.ts