weixin_43082217
高富态-大PC
采纳率100%
2020-05-26 04:22

c++ sort排序二维数组之后结果未自动保存的问题

5
已采纳

LeetCode 1128,

题目链接

https://leetcode.com/problems/number-of-equivalent-domino-pairs/

class Solution {
public:
    int numEquivDominoPairs(vector<vector<int>>& dominoes) {
        int ret = 0;
        for (auto i : dominoes) {
            sort(i.begin(), i.end());
            cout << i[0] << i[1] << endl;   // 输出1
        }
        for (int i = 0; i < dominoes.size() - 1; ++i) {
            for (int j = i + 1; j < dominoes.size(); ++j) {
                cout << dominoes[i][0] << dominoes[i][1] << endl;  // 输出2
                cout << dominoes[j][0] << dominoes[j][1] << endl;
                if (dominoes[i] == dominoes[j]) {
                    ret++;
                }
            }
        }
        return ret;
    }
};

int main() {
    vector<vector<int>> vec = { {1,2}, {2,1} };
    Solution s;
    cout << s.numEquivDominoPairs(vec) << endl;
    return 0;
}

对二维数组的每一行进行排序,所以上面输出1的结果是12和12,但是在输出2的结果却是12和21,有没有大佬能解释一下为什么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • qq_42685012 胖狗子修行之路 1年前
    for (auto i : dominoes)  
    ->
    for (auto& i : dominoes)  
    
    点赞 1 评论 复制链接分享
  • qq_39805297 呆瑞 1年前

    图片说明

    点赞 评论 复制链接分享

相关推荐