zoukankan      html  css  js  c++  java
  • leetcode 双周赛9 找出所有行中最小公共元素

    给你一个矩阵 mat,其中每一行的元素都已经按 递增 顺序排好了。请你帮忙找出在所有这些行中 最小的公共元素。

    如果矩阵中没有这样的公共元素,就请返回 -1

    示例:
    
    输入:mat = [[1,2,3,4,5],[2,4,5,8,10],[3,5,7,9,11],[1,3,5,7,9]]
    输出:5

    解法:

    暴力解法  就是使用哈希记录每行 然后比较

    代码

    class Solution {
    public:
    unordered_map<int, int> umap[510];
    
    int smallestCommonElement(vector<vector<int>>& mat) {
        if (mat.empty() || mat[0].empty()) return -1;
        for (int i = 0; i < mat.size(); i++)
        {
            for (int j = 0; j < mat[0].size(); j++) {
                umap[i][mat[i][j]]++;
            }
        }
    
        for (int j = 0; j < mat[0].size(); j++) {
            int find = 1;
            int findNum = mat[0][j];
            for (int i = 1; i < mat.size(); i++) {
                if (umap[i][findNum] == 0) {
                    find = 0;
                    break;
                }
            }
            if (find == 1)
            {
                return findNum;
            }
        }
    
        return -1;
    }
        
    };
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    总结C#获取当前路径的7种方法
    Cognex925B的使用方法
    值类型不允许赋值为Null
    浅谈Task的用法
    C#中的变量祥解
    C#中属性的解析
    浅谈简单工厂模式
    浅谈Invoke 和 BegionInvoke的用法
    c#小灶——9.算术运算符
    c#小灶——8.自动类型转换和强制类型转换
  • 原文地址:https://www.cnblogs.com/itdef/p/11569177.html
Copyright © 2011-2022 走看看