Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了[Swift]LeetCode843. 猜猜这个单词 | Guess the Word大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

This problem is an interactive problem new to the LeetCode platform.

We are given a word list of unique words,each word is 6 letters long,and one word in this list is chosen as secret.

You may call @H_373_11@master.guess(word) to guess a word.  The guessed word should have type String and must be from the original list with 6 lowercase letters.

This function returns an Integer type,represenTinthe number of exact matches (value and position) of your guess to the secret word.  Also,if your guess is not in the given wordlist,it will return -1 instead.

For each test case,you have 10 guesses to guess the word. At the end of any number of calls,if you have made 10 or less calls to @H_373_11@master.guess and at least one of these guesses was the secret,you pass the TESTCase.

Besides the example test case below,there will be 5 additional test cases,each with 100 words in the word list.  The letters of each word in those TESTCases were chosen independently at random from ‘a‘ to ‘z‘,such that every word in the given word lists is unique.

Example 1:
Input: secret = "acckzz",wordlist = ["acckzz","ccbazz","eiowzz","abcczz"]

Explanation:

 returns -1,because  is not in wordlist.
returns 6,because  is secret and has all 6 matches.
 returns 3,because has 3 matches.
 returns 2,because  has 2 matches.
 returns 4,because  has 4 matches.

We made 5 calls to master.guess and one of them was the secret,so we pass the test case.
master.guess("aaaaaa")"aaaaaa"master.guess("acckzz")"acckzz"master.guess("ccbazz") "ccbazz"master.guess("eiowzz")"eiowzz"master.guess("abcczz")"abcczz"

Note:  Any solutions that attempt to circumvent the judge will result in disqualification.

这个问题是 LeetCode 平台新增的交互式问题 

我们给出了一个由一些独特的单词组成的单词列表,每个单词都是 6 个字母长,并且这个列表中的一个单词将被选作秘密。

你可以调用 @H_373_11@master.guess(word) 来猜单词。你所猜的单词应当是存在于原列表并且由 6 个小写字母组成的类型字符串

函数将会返回一个整型数字,表示你的猜测与秘密单词的准确匹配(值和位置同时匹配)的数目。此外,如果你的猜测不在给定的单词列表中,它将返回 -1

对于每个测试用例,你有 10 次机会来猜出这个单词。当所有调用都结束时,如果您对 @H_373_11@master.guess 的调用不超过 10 次,并且至少有一次猜到秘密,那么您将通过该测试用例。

除了下面示例给出的测试用例外,还会有 5 个额外的测试用例,每个单词列表中将会有 100 个单词。这些测试用例中的每个单词的字母都是从 ‘a‘ 到 ‘z‘ 中随机选取的,并且保证给定单词列表中的每个单词都是唯一的。

示例 1:
输入: secret = "acckzz","abcczz"]

解释:

 返回 -1,因为  不在 wordlist 中.
 6,因为  就是秘密,6个字母完全匹配。
 返回 3,因为 有 3 个匹配项。
 返回 2,因为  有 2 个匹配项。
 返回 4,因为  有 4 个匹配项。

我们调用了 5 次master.guess,其中一次猜到了秘密,所以我们通过了这个测试用例。
master.guess("aaaaaa")"aaaaaa"master.guess("acckzz") 返回"acckzz"master.guess("ccbazz") "ccbazz"master.guess("eiowzz")"eiowzz"master.guess("abcczz")"abcczz"

提示:任何试图绕过评判的解决方案都将导致比赛资格被取消。

Runtime: 8 ms
Memory Usage: 19.1 MB
 1 /**
 2  * // This is the Master‘s API interface.
 3  * // You should not implement it,or speculate about its implementation
 4  * class Master {
 5  *     public func guess(word: String) -> Int {}
 6  * }
 7  */
 8 class Solution {
 9     func findSecretWord(_ wordlist: [String],_ master: Master) {
10         var wordlist = wordlist
11         var i:Int = 0
12         var x:Int = 0
13         while(i < 10 && x < 6)
14         {            
15             var guess:string = wordlist[Int.random(in:0..<wordlist.count)]
16             var x:Int = master.guess(guess)
17             var wordlist2:[String] = [String]()
18             for w in wordlist
19             {
20                 if match(guess,w) == x
21                 {
22                     wordlist2.append(w)
23                 }
24             }
25             wordlist = wordlist2
26             i += 1
27         }            
28     }
29     
30     func match(_ a:string,_ b:string) -> Int
31     {
32         var matches:Int = 0
33         var arrA:[Character] = Array(a)
34         var arrB:[Character] = Array(b)
35         for i in 0..<a.count
36         {
37             if arrA[i] == arrB[i]
38             {
39                 matches += 1
40             }
41         }
42         return matches        
43     }
44 }
@H_131_301@

大佬总结

以上是大佬教程为你收集整理的[Swift]LeetCode843. 猜猜这个单词 | Guess the Word全部内容,希望文章能够帮你解决[Swift]LeetCode843. 猜猜这个单词 | Guess the Word所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。