【发布时间】:2020-12-16 22:07:50
【问题描述】:
我正在使用 C# 在命令行中制作拼字游戏。玩家必须输入一些单词,如下表:
| Word | Points |
|---|---|
| some | 6 |
| first | 8 |
| potsie | 8 |
| day | 7 |
| could | 8 |
| postie | 8 |
| from | 9 |
| have | 10 |
| back | 12 |
| this | 7 |
玩家得到的字母是这样的:
sopitez
这个值是一个字符串。我会检查这些字母是否包含在单词中。为此,我尝试了以下代码:
String highst = (from word
in words
where word.Contains(letters)
orderby points descending
select word).First();
但是我怎么做都行不通。此代码不会选择任何单词。我知道原因是因为sopitez 不包含任何单词。
我现在的问题是有没有办法检查字符串letters 中的字符是否包含在循环字符的单词中。
注意:每个字母在解中最多只能使用一次。
如果我计算结果,它必须是potsie 或postie。 (我必须为此编写逻辑)
PS:我在玩这个游戏:www.codingame.com/ide/puzzle/scrabble
【问题讨论】:
-
你能给我们一个计算的例子吗?
-
你应该检查他们的Intersection是否为空