【青岛德瑞鑫净化工程面试真经】(程序开发岗)搜索二维矩阵

  • 浏览次数: ...
  • 发布时间: 2025-09-08

青岛德瑞鑫净化工程c++程序开发人员18年秋招笔试真题:搜索二维矩阵

题目要求

使用C++编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

每行的元素从左到右升序排列。

每列的元素从上到下升序排列。

参考答案

class Solution {

public:

    bool searchMatrix(vector<vector<int>>& matrix, int target) {

        bool result = false;

        auto right = lower_bound(matrix[0].begin(), matrix[0].end(), target);

        if (right != matrix[0].end() && *right == target) {

            return true;

        }

 

        int rightLine = 0;

        if(right == matrix[0].end()) {

            rightLine = matrix[0].end() - matrix[0].begin();

        } else {

            rightLine = right - matrix[0].begin();

        }

        cout <<right - matrix[0].begin()<<endl;

       

        for (int i =0; i <matrix.size(); i++) {

            if (matrix[i][0] > target) {

                break;

            }

            auto it = lower_bound(matrix[i].begin(),matrix[i].begin()+rightLine-1, target);

            if (it != matrix[i].end() && *it == target) {

                return true;

            }

           

        }

        return result;

       

    }

};

本文网址: https://www.deruixin.com.cn/news/89.html
找不到任何内容

网站首页

邮箱:deruixin@126.com
售前工程师热线:18663935166
售后工程师热线:13953212366
免费服务热线:400-006-2918
地址:山东省青岛市城阳区流亭街道山河路702号46号楼A座4楼

净化工程


电子厂净化车间
实验室净化车间
食品厂净化车间
手术室净化车间
制药厂净化车间
美妆厂净化车间

净化设备


FFU
传递窗
风淋室
洁净棚
洁净衣柜
超净工作台
空气过滤器

工程案例


电子厂净化车间
实验室净化车间
食品厂净化车间
手术室净化车间
制药厂净化车间
美妆厂净化车间

关于我们


公司简介
荣誉资质
项目经验