首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Leetcode-1996游戏中的弱字符数

Leetcode-1996游戏中的弱字符数
EN

Stack Overflow用户
提问于 2022-09-09 14:22:43
回答 2查看 310关注 0票数 -2

问题:您正在玩一个包含多个字符的游戏,每个角色都有两个主要属性:攻击和防御。您将获得一个2D整数数组属性,其中properties the = attacki,defensei表示游戏中ith字符的属性。

如果任何其他角色的攻击和防御等级都严格大于该角色的攻击和防御级别,则称该角色为弱角色。更正式地说,如果存在另一个字符j,其中attackj > attacki和defensej > defensei,则称为弱字符。

返回弱字符数。

我的解决方案:

代码语言:javascript
复制
class Solution {
public:
    
    int numberOfWeakCharacters(vector<vector<int>>& properties) {
        int count =0;
        for(int i=0; i<properties.size(); i++){
            for(int j=0; j<properties.size(); j++){
                if((properties[j][0]>properties[i][0])&& (properties[j][1]>properties[i][1])){
                    count++;
                }
            }
        }
        return count;
    }
};

这是我的解决方案。我不知道为什么这不管用。我基本上比较了每个人在O(n^2)方式和增量计数,如果发现这样的情况。

测试案例:[7,7,1,2,9,7,7,3,3,10,9,8,8,10,4,3,3,1,5,5]

我的产出: 26预期:6

EN

回答 2

Stack Overflow用户

发布于 2022-09-09 14:30:05

问题是,您的算法是计算所有的对,其中一个比另一个“弱”,但这不是什么问题。您应该计算所有弱于的条目(而不是对),至少还要计算另一个。不要在计算中包括你发现同一个项目被证明更弱的次数。只需计算一个事实,即它比弱一些其他条目。

票数 2
EN

Stack Overflow用户

发布于 2022-09-09 15:40:03

正如前面提到的--您的问题是,您没有计算弱字符的数量,而是有多少个字符更强,也就是说,每个弱字符要多次增加变量count,最简单的解决方法是在找到一个更强的字符时立即停止计算:

代码语言:javascript
复制
class Solution {
public:
    
    int numberOfWeakCharacters(vector<vector<int>>& properties) {
        int count =0;
        for(int i=0; i<properties.size(); i++){
            for(int j=0; j<properties.size(); j++){
                if ((properties[j][0] > properties[i][0]) && (properties[j][1] > properties[i][1])) {
                    count++;
                    break; // <-- HERE we need to stop
                }
            }
        }
        return count;
    }
};

这段代码应该通过所有的测试,但是它会因为超时而失败。

要真正解决问题--您需要改变解决问题的方法,我不打算发布完全有效的解决方案,但是有一些提示:

如果对输入数组进行排序,

  1. 怎么办?因此,您将知道,在攻击能力方面,过去的所有字符都是>=。那么,如何减少比较的数量呢?
  2. ,如果在当前攻击/防御之外,您也知道当前项目之后的最大防御能力呢?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73663615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档