Sha256: 90d3da9850ae2aec1fd07cdf6a98ce439605fa3f4c064c6807d29475c90c2dd7

Contents?: true

Size: 1.06 KB

Versions: 145

Compression:

Stored size: 1.06 KB

Contents

## Hints

- Ranking a list of poker hands can be considered a sorting problem.
- Rust provides the [sort](https://doc.rust-lang.org/std/vec/struct.Vec.html#method.sort) method for `Vec<T> where T: Ord`.
- [`Ord` types](https://doc.rust-lang.org/std/cmp/trait.Ord.html) are form a [total order](https://en.wikipedia.org/wiki/Total_order): exactly one of `a < b`, `a == b`, or `a > b` must be true.
- Poker hands do not conform to a total order: it is possible for two hands to be non-equal but have equal sort order. Example: `3S 4S 5D 6H JH"`, `"3H 4H 5C 6C JD"`.
- Rust provides the [`PartialOrd` trait](https://doc.rust-lang.org/std/cmp/trait.PartialOrd.html) to handle the case of sortable things which do not have a total order. However, it doesn't provide a standard `sort` method for `Vec<T> where T: PartialOrd`. The standard idiom to sort a vector in this case is `your_vec.sort_by(|a, b| a.partial_cmp(b).unwrap_or(Ordering::{Less|Equal|Greater}));`, depending on your needs. `
- You might consider implementing a type representing a poker hand which implements `PartialOrd`.

Version data entries

145 entries across 145 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.179 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.178 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.177 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.176 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.175 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.174 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.173 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.172 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.171 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.170 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.169 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.167 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.166 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.165 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.164 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.163 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.162 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.161 tracks/rust/exercises/poker/.meta/hints.md
trackler-2.2.1.160 tracks/rust/exercises/poker/.meta/hints.md