返回介绍

lcp / LCP 01. 猜数字 / README

发布于 2024-06-17 01:04:41 字数 3049 浏览 0 评论 0 收藏 0

LCP 01. 猜数字

题目描述

小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?

输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guessanswer的长度都等于3。

 

示例 1:

输入:guess = [1,2,3], answer = [1,2,3]
输出:3
解释:小A 每次都猜对了。

示例 2:

输入:guess = [2,2,3], answer = [3,2,1]
输出:1
解释:小A 只猜对了第二次。

 

限制:

  1. guess 的长度 = 3
  2. answer 的长度 = 3
  3. guess 的元素取值为 {1, 2, 3} 之一。
  4. answer 的元素取值为 {1, 2, 3} 之一。

解法

方法一:遍历

我们同时遍历两个数组,如果对应位置的元素相等,那么答案加一。

时间复杂度 $O(n)$,其中 $n$ 是数组的长度,本题中 $n=3$。空间复杂度 $O(1)$。

class Solution:
  def game(self, guess: List[int], answer: List[int]) -> int:
    return sum(a == b for a, b in zip(guess, answer))
class Solution {
  public int game(int[] guess, int[] answer) {
    int ans = 0;
    for (int i = 0; i < 3; ++i) {
      if (guess[i] == answer[i]) {
        ++ans;
      }
    }
    return ans;
  }
}
class Solution {
public:
  int game(vector<int>& guess, vector<int>& answer) {
    int ans = 0;
    for (int i = 0; i < 3; ++i) {
      ans += guess[i] == answer[i];
    }
    return ans;
  }
};
func game(guess []int, answer []int) (ans int) {
  for i, a := range guess {
    if a == answer[i] {
      ans++
    }
  }
  return
}
function game(guess: number[], answer: number[]): number {
  let ans = 0;
  for (let i = 0; i < 3; ++i) {
    if (guess[i] === answer[i]) {
      ++ans;
    }
  }
  return ans;
}
/**
 * @param {number[]} guess
 * @param {number[]} answer
 * @return {number}
 */
var game = function (guess, answer) {
  let ans = 0;
  for (let i = 0; i < 3; ++i) {
    if (guess[i] === answer[i]) {
      ++ans;
    }
  }
  return ans;
};
int game(int* guess, int guessSize, int* answer, int answerSize) {
  int res = 0;
  for (int i = 0; i < 3; i++) {
    if (guess[i] == answer[i]) {
      res++;
    }
  }
  return res;
}

方法二

function game(guess: number[], answer: number[]): number {
  return guess.reduce((acc, cur, index) => (cur === answer[index] ? acc + 1 : acc), 0);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文