21xrx.com
2024-05-19 14:28:32 Sunday
登录
文章检索 我的文章 写文章
Java算法题:有一个人认识另外两个人
2023-06-21 11:06:04 深夜i     --     --
Java 算法 认识 两个人

  return A.knows(B) || A.knows(C);

Java算法题:有一个人认识另外两个人

在这个简单的算法题中,我们需要找到一个人是否认识另外两个人。假设我们有一个人A,以及另外两个人B和C。如果A认识B和C中的任意一个或都认识,则返回true,否则返回false。

那么如何实现这个算法呢?我们可以采用if语句来判断A是否认识B和C。具体的代码如下:


public boolean isKnown(Person A, Person B, Person C) {

  if (A.knows(B) || A.knows(C))

    return true;

   else

    return false;

  

}

其中,Person是一个自定义的类,表示一个人。该类中包含一个knows方法,用来判断该人是否认识另外一个人。

在上面的代码中,我们使用了if语句来判断A是否认识B和C中的任意一个。如果A认识B或C,则返回true,否则返回false。

当然,我们还可以将上面的if语句简化成一行代码,如下所示:


public boolean isKnown(Person A, Person B, Person C) {

  return A.knows(B) || A.knows(C);

}

上面的代码中,我们直接使用了一个逻辑或运算符来判断A是否认识B和C中的任意一个。如果A认识B或C,则返回true,否则返回false。

在实际开发中,我们可能需要对这个算法做一些扩展。比如,如果我们有更多的人,如何判断一个人是否认识另外三个人,或四个人?这时候,我们可以使用一个for循环来遍历所有的人,然后再使用if语句来判断。具体的示例代码如下:


public boolean isKnown(Person A, Person[] persons) {

  for (Person p : persons) {

    if (A != p && !A.knows(p))

      return false;

    

  }

  return true;

}

在上面的代码中,我们使用了一个foreach循环来遍历所有的人。然后我们使用if语句来判断一个人是否认识另外一个人。如果A不等于当前的人,并且A不认识当前的人,则返回false。否则,继续遍历下一个人。如果所有的人都认识A,则返回true。

综上,通过上述示例代码,我们可以看到如何使用Java来解决这个简单的算法题,同时我们还可以学习到一些Java基本语法和编程技巧,如if语句、逻辑运算符、for循环等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复