Sha256: f81886b60b104399dd6421ec0e6330450cd67e41bc7ad904dfc975f234c42a4f

Contents?: true

Size: 1.73 KB

Versions: 96

Compression:

Stored size: 1.73 KB

Contents

# Saddle Points

Detect saddle points in a matrix.

So say you have a matrix like so:

```plain
    0  1  2
  |---------
0 | 9  8  7
1 | 5  3  2     <--- saddle point at (1,0)
2 | 6  6  7
```

It has a saddle point at (1, 0).

It's called a "saddle point" because it is greater than or equal to
every element in its row and the less than or equal to every element in
its column.

A matrix may have zero or more saddle points.

Your code should be able to provide the (possibly empty) list of all the
saddle points for any given matrix.

Note that you may find other definitions of matrix saddle points online,
but the tests for this exercise follow the above unambiguous definition.

## Running tests

Execute the tests with:

```bash
$ elixir bob_test.exs
```

(Replace `bob_test.exs` with the name of the test file.)

### Pending tests

In the test suites, all but the first test have been skipped.

Once you get a test passing, you can unskip the next one by
commenting out the relevant `@tag :pending` with a `#` symbol.

For example:

```elixir
# @tag :pending
test "shouting" do
  assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
end
```

Or, you can enable all the tests by commenting out the
`ExUnit.configure` line in the test suite.

```elixir
# ExUnit.configure exclude: :pending, trace: true
```

For more detailed information about the Elixir track, please
see the [help page](http://exercism.io/languages/elixir).

## Source

J Dalbey's Programming Practice problems [http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html](http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html)

## Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.

Version data entries

96 entries across 96 versions & 1 rubygems

Version Path
trackler-2.2.1.51 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.50 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.49 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.48 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.47 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.46 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.45 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.44 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.43 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.42 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.41 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.40 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.39 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.38 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.37 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.36 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.35 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.34 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.33 tracks/elixir/exercises/saddle-points/README.md
trackler-2.2.1.32 tracks/elixir/exercises/saddle-points/README.md