写一个判断算法

发布于 2022-09-12 01:16:16 字数 133 浏览 9 评论 0

一个list对象有种多个对象
1.如果对象num都是“01”,则返回“01”
2.如果对象num都是“03”,则返回“03”
3.如果对象num有“01”或“03”,则返回“05”
4.如果对象num只要有“02,则返回“02”

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雨的味道风的声音 2022-09-19 01:16:16

双重for去重复,然后再判断

拿命拼未来 2022-09-19 01:16:16

直接统计个数:
遍历,统计num每种情况出现的次数,得到结果:

{
    "01": 10,
    "02": 5,
    "03": 8,
    ...
}

然后对结果进行判断:

  1. 02次数 > 0, 返回 "02"
  2. 01次数 == list.size(),返回"01"
  3. 03次数 == list.size(),返回"03"
  4. 返回"05"
故人的歌 2022-09-19 01:16:16

扣一点的话:

boolean hasOne = false, hasThree = false;
for (String item : list) {
    if ("02".equals(item)) return "02";
    if ((hasThree && "01".equals(item))
        || (hasOne && "03".equals(item))
    )
        return "05";
    if (!hasOne && "01".equals(item)) hasOne = true;
    if (!hasThree && "03".equals(item)) hasThree = true;
}
return hasOne ? "01" : "03";

原答案:

if (list.contains("02")) return "02";
if (list.contains("01")) return list.contains("03") ? "05" : "01"
else return "03";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文