A good tree is both:
taller than every tree to the east and west, so that you have the best possible view of the sunrises and sunsets.
shorter than every tree to the north and south, to minimize the amount of tree climbing.
and that
An acceptable tree will be the largest in its row, while being the smallest in its column.
But then the tests (TypeScript and C#, at least) include tests that expect the program to identify multiple saddle points in a row or in a column, meaning that there can be other trees of the same height in the row or column. Maybe I’m being pedantic, but the difference between “greater/less than” and “greater/less than or equal to” strikes me as kind of important to a programmer.
Anyway, if PRs were allowed, I’d create one changing the description to:
A good tree is both:
Taller than or the same height as every tree to the east and west, so that you have the best possible view of the sunrises and sunsets.
Shorter than or the same height as every tree to the north and south, to minimize the amount of tree climbing.
and
An acceptable tree will be the no smaller than any other tree in its row, while also being no larger than any tree in its column.
A good tree is both:
-taller than every tree to the east and west,
+Taller than or the same height as every tree to the east and west,
so that you have the best possible view of the sunrises and sunsets.
-shorter than every tree to the north and south,
+Shorter than or the same height as every tree to the north and south,
to minimize the amount of tree climbing.
-An acceptable tree will be the largest in its row,
+An acceptable tree will be the no smaller than any other tree in its row,
-while being the smallest in its column.
+while also being no larger than any tree in its column.
Alternative proposal:
A good tree is both:
-- taller than every tree to the east and west,
+- no shorter than any tree to the east and west,
so that you have the best possible view of the sunrises and sunsets.
-- shorter than every tree to the north and south,
+- no taller than any tree to the north and south,
to minimize the amount of tree climbing.
-An acceptable tree will be the largest in its row,
+An acceptable tree will have the greatest height in its row,
-while being the smallest in its column.
+while having the least height in its column.
I might well be unusual in this regard, but this could actually make it more difficult to understand for me and other people like me (though probably a strong minority). I’m not dyslexic, but I have some trouble reading nonetheless, and succinctness helps a lot.
I was pretty frustrated when my solution was failing the tests because I specifically crafted it to discard the point whenever there is a tree of the same height in the same row/column.
If you don’t want to change the wording, then at least provide an example in the problem description that clearly shows multiple saddle points in the row/column.
100%. This was my first Exercism exercise and the fact that the description contradicted the tests led me to question Exercism’s level of quality control in general. Clarifying the description, as multiple commenters have suggested, would be an easy fix.
The alternative wording, “An acceptable tree will have the [greatest/least] height in its [row/column]”, is logically correct but easier to misinterpret.