leetcode73 矩阵置零

news2024/11/26 18:45:02

题目描述

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用原地算法。

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]
输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

python完整代码 

class Solution:
    def setZeroes(self, matrix):
        rows = len(matrix)  # 获取矩阵的行数
        cols = len(matrix[0])  # 获取矩阵的列数

        # 定义两个集合用于存储应该置零的行号和列号
        zero_rows = set()
        zero_cols = set()

        # 遍历整个矩阵,记录0元素所在的行和列
        for i in range(rows):
            for j in range(cols):
                if matrix[i][j] == 0:
                    zero_rows.add(i)
                    zero_cols.add(j)

        # 将需要置零的行和列的元素置为0
        for i in range(rows):
            for j in range(cols):
                if i in zero_rows or j in zero_cols:  # 如果i和j在元素0所在的行或列
                    matrix[i][j] = 0


if __name__ == "__main__":
    solution = Solution()

    # 测试用例1:矩阵中有0元素
    matrix1 = [
        [1, 1, 1],
        [1, 0, 1],
        [1, 1, 1]
    ]
    print("原始矩阵1:")
    for row in matrix1:
        print(row)
    solution.setZeroes(matrix1)
    print("\n置零后的矩阵1:")
    for row in matrix1:
        print(row)

    # 测试用例2:矩阵中没有0元素
    matrix2 = [
        [0, 1, 2, 0],
        [3, 4, 5, 2],
        [1, 3, 1, 5]
    ]
    print("\n原始矩阵2:")
    for row in matrix2:
        print(row)
    solution.setZeroes(matrix2)
    print("\n置零后的矩阵2:")
    for row in matrix2:
        print(row)

    # 测试用例3:矩阵中全是0元素
    matrix3 = [
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]
    ]
    print("\n原始矩阵3:")
    for row in matrix3:
        print(row)
    solution.setZeroes(matrix3)
    print("\n置零后的矩阵3:")
    for row in matrix3:
        print(row)


class Solution:
    def setZeroes(self, matrix):
        rows = len(matrix)  # 获取矩阵的行数
        cols = len(matrix[0])  # 获取矩阵的列数

        # 定义两个标志位,用于标记第一行和第一列是否需要置零
        first_row_zero = False
        first_col_zero = False

        # 检查第一行是否有0元素
        for j in range(cols):
            if matrix[0][j] == 0:
                first_row_zero = True
                break

        # 检查第一列是否有0元素
        for i in range(rows):
            if matrix[i][0] == 0:
                first_col_zero = True
                break

        # 遍历除第一行和第一列以外的元素,若为0,则将对应的第一行和第一列置为0
        for i in range(1, rows):
            for j in range(1, cols):
                if matrix[i][j] == 0:
                    matrix[i][0] = 0
                    matrix[0][j] = 0

        # 根据第一行和第一列的标志位,将对应的行和列置为0
        for i in range(1, rows):
            for j in range(1, cols):
                if matrix[i][0] == 0 or matrix[0][j] == 0:
                    matrix[i][j] = 0

        # 如果第一行需要置零,则将第一行置零
        if first_row_zero:
            for j in range(cols):
                matrix[0][j] = 0

        # 如果第一列需要置零,则将第一列置零
        if first_col_zero:
            for i in range(rows):
                matrix[i][0] = 0



if __name__ == "__main__":
    solution = Solution()

    # 测试用例1:矩阵中有0元素
    matrix1 = [
        [1, 1, 1],
        [1, 0, 1],
        [1, 1, 1]
    ]
    print("原始矩阵1:")
    for row in matrix1:
        print(row)
    solution.setZeroes(matrix1)
    print("\n置零后的矩阵1:")
    for row in matrix1:
        print(row)

    # 测试用例2:矩阵中没有0元素
    matrix2 = [
        [0, 1, 2, 0],
        [3, 4, 5, 2],
        [1, 3, 1, 5]
    ]
    print("\n原始矩阵2:")
    for row in matrix2:
        print(row)
    solution.setZeroes(matrix2)
    print("\n置零后的矩阵2:")
    for row in matrix2:
        print(row)

    # 测试用例3:矩阵中全是0元素
    matrix3 = [
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]
    ]
    print("\n原始矩阵3:")
    for row in matrix3:
        print(row)
    solution.setZeroes(matrix3)
    print("\n置零后的矩阵3:")
    for row in matrix3:
        print(row)

c++完整代码  

#include <iostream>
#include <vector>
#include <unordered_set>

using namespace std;

class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int rows = matrix.size(); // 获取矩阵的行数
        int cols = matrix[0].size(); // 获取矩阵的列数

        // 定义两个集合用于存储应该置零的行号和列号
        unordered_set<int> zero_rows;
        unordered_set<int> zero_cols;

        // 遍历整个矩阵,记录0元素所在的行和列
        for (int i = 0; i < rows; ++i) {
            for (int j = 0; j < cols; ++j) {
                if (matrix[i][j] == 0) {
                    zero_rows.insert(i);
                    zero_cols.insert(j);
                }
            }
        }

        // 将需要置零的行和列的元素置为0
        for (int i = 0; i < rows; ++i) {
            for (int j = 0; j < cols; ++j) {
                if (zero_rows.count(i) || zero_cols.count(j)) {  // 如果i和j在元素0所在的行或列
                    matrix[i][j] = 0;
                }
            }
        }
    }
};

int main() {
    Solution solution;

    // 测试用例1:矩阵中有0元素
    vector<vector<int>> matrix1 = {
            {1, 1, 1},
            {1, 0, 1},
            {1, 1, 1}
    };
    cout << "matrix 1:" << endl;
    for (auto& row : matrix1) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    solution.setZeroes(matrix1);
    cout << "after matrix 1:" << endl;
    for (auto& row : matrix1) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    vector<vector<int>> matrix2 = {
            {0, 1, 2, 0},
            {3, 4, 5, 2},
            {1, 3, 1, 5}
    };
    cout << "matrix 2:" << endl;
    for (auto& row : matrix2) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    solution.setZeroes(matrix2);
    cout << "after matrix 2:" << endl;
    for (auto& row : matrix2) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    vector<vector<int>> matrix3 = {
            {0, 1, 0},
            {1, 0, 1},
            {0, 1, 0}
    };
    cout << "matrix 3:" << endl;
    for (auto& row : matrix3) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    solution.setZeroes(matrix3);
    cout << "after matrix 3:" << endl;
    for (auto& row : matrix3) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }

    return 0;
}
#include <iostream>
#include <vector>

using namespace std;

class Solution {
public:
void setZeroes(vector<vector<int>>& matrix) {
    int rows = matrix.size(); // 获取矩阵的行数
    int cols = matrix[0].size(); // 获取矩阵的列数

    // 定义两个标志位,用于标记第一行和第一列是否需要置零
    bool first_row_zero = false;
    bool first_col_zero = false;

    // 检查第一行是否有0元素
    for (int j = 0; j < cols; ++j) {
        if (matrix[0][j] == 0) {
            first_row_zero = true;
            break;
        }
    }

    // 检查第一列是否有0元素
    for (int i = 0; i < rows; ++i) {
        if (matrix[i][0] == 0) {
            first_col_zero = true;
            break;
        }
    }

    // 遍历除第一行和第一列以外的元素,若为0,则将对应的第一行和第一列置为0
    for (int i = 1; i < rows; ++i) {
        for (int j = 1; j < cols; ++j) {
            if (matrix[i][j] == 0) {
                matrix[i][0] = 0;
                matrix[0][j] = 0;
            }
        }
    }

    // 根据第一行和第一列的标志位,将对应的行和列置为0
    for (int i = 1; i < rows; ++i) {
        for (int j = 1; j < cols; ++j) {
            if (matrix[i][0] == 0 || matrix[0][j] == 0) {
                matrix[i][j] = 0;
            }
        }
    }

    // 如果第一行需要置零,则将第一行置零
    if (first_row_zero) {
        for (int j = 0; j < cols; ++j) {
            matrix[0][j] = 0;
        }
    }

    // 如果第一列需要置零,则将第一列置零
    if (first_col_zero) {
        for (int i = 0; i < rows; ++i) {
            matrix[i][0] = 0;
        }
    }
}
};

int main() {
    Solution solution;

    // 测试用例
    vector<vector<int>> matrix1 = {
    {1, 1, 1},
    {1, 0, 1},
    {1, 1, 1}
};
    cout << "matrix 1:" << endl;
    for (auto& row : matrix1) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    solution.setZeroes(matrix1);
    cout << "after matrix 1:" << endl;
    for (auto& row : matrix1) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    vector<vector<int>> matrix2 = {
    {0, 1, 2, 0},
    {3, 4, 5, 2},
    {1, 3, 1, 5}
};
    cout << "matrix 2:" << endl;
    for (auto& row : matrix2) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    solution.setZeroes(matrix2);
    cout << "after matrix 2:" << endl;
    for (auto& row : matrix2) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    vector<vector<int>> matrix3 = {
    {0, 1, 0},
    {1, 0, 1},
    {0, 1, 0}
};
    cout << "matrix 3:" << endl;
    for (auto& row : matrix3) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    solution.setZeroes(matrix3);
    cout << "after matrix 3:" << endl;
    for (auto& row : matrix3) {
        for (int val : row) {
            cout << val << " ";
        }
        cout << endl;
    }
    return 0;
}

Java完整代码   

import java.util.HashSet;
import java.util.Set;
public class setZeroes {
    public void setZeroes1(int[][] matrix) {
        int rows = matrix.length; // 获取矩阵的行数
        int cols = matrix[0].length; // 获取矩阵的列数

        // 定义两个集合用于存储应该置零的行号和列号
        Set<Integer> zeroRows = new HashSet<>();
        Set<Integer> zeroCols = new HashSet<>();

        // 遍历整个矩阵,记录0元素所在的行和列
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                if (matrix[i][j] == 0) {
                    zeroRows.add(i);
                    zeroCols.add(j);
                }
            }
        }

        // 将需要置零的行和列的元素置为0
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                if (zeroRows.contains(i) || zeroCols.contains(j)) {  // 如果i和j在元素0所在的行或列
                    matrix[i][j] = 0;
                }
            }
        }
    }

    public static void main(String[] args) {
        setZeroes setZeroes1 = new setZeroes();

        // 测试用例1:矩阵中有0元素
        int[][] matrix1 = {
                {1, 1, 1},
                {1, 0, 1},
                {1, 1, 1}
        };
        System.out.println("原始矩阵1:");
        for (int[] row : matrix1) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }
        setZeroes1.setZeroes1(matrix1);
        System.out.println("\n置零后的矩阵1:");
        for (int[] row : matrix1) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }

        int[][] matrix2 = {
                {0, 1, 2, 0},
                {3, 4, 5, 2},
                {1, 3, 1, 5}
        };
        System.out.println("原始矩阵2:");
        for (int[] row : matrix2) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }

        setZeroes1.setZeroes1(matrix2);
        System.out.println("\n置零后的矩阵2:");
        for (int[] row : matrix2) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }

        int[][] matrix3 = {
                {0, 1, 0},
                {1, 0, 1},
                {0, 1, 0}
        };
        System.out.println("原始矩阵3:");
        for (int[] row : matrix3) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }

        setZeroes1.setZeroes1(matrix3);
        System.out.println("\n置零后的矩阵3:");
        for (int[] row : matrix3) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }
    }
}
import java.util.HashSet;
import java.util.Set;

public class setZeroes2 {
    public void setZeroes(int[][] matrix) {
        int rows = matrix.length;  // 获取矩阵的行数
        int cols = matrix[0].length;  // 获取矩阵的列数

        // 定义两个标志位,用于标记第一行和第一列是否需要置零
        boolean firstRowZero = false;
        boolean firstColZero = false;

        // 检查第一行是否有0元素
        for (int j = 0; j < cols; j++) {
            if (matrix[0][j] == 0) {
                firstRowZero = true;
                break;
            }
        }

        // 检查第一列是否有0元素
        for (int i = 0; i < rows; i++) {
            if (matrix[i][0] == 0) {
                firstColZero = true;
                break;
            }
        }

        // 遍历除第一行和第一列以外的元素,若为0,则将对应的第一行和第一列置为0
        for (int i = 1; i < rows; i++) {
            for (int j = 1; j < cols; j++) {
                if (matrix[i][j] == 0) {
                    matrix[i][0] = 0;
                    matrix[0][j] = 0;
                }
            }
        }

        // 根据第一行和第一列的标志位,将对应的行和列置为0
        for (int i = 1; i < rows; i++) {
            for (int j = 1; j < cols; j++) {
                if (matrix[i][0] == 0 || matrix[0][j] == 0) {
                    matrix[i][j] = 0;
                }
            }
        }

        // 如果第一行需要置零,则将第一行置零
        if (firstRowZero) {
            for (int j = 0; j < cols; j++) {
                matrix[0][j] = 0;
            }
        }

        // 如果第一列需要置零,则将第一列置零
        if (firstColZero) {
            for (int i = 0; i < rows; i++) {
                matrix[i][0] = 0;
            }
        }
    }

    public static void main(String[] args) {
        setZeroes2 setZeroes = new setZeroes2();

        // 测试用例1:矩阵中有0元素
        int[][] matrix1 = {
                {1, 1, 1},
                {1, 0, 1},
                {1, 1, 1}
        };
        System.out.println("原始矩阵1:");
        for (int[] row : matrix1) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }
        setZeroes.setZeroes(matrix1);
        System.out.println("\n置零后的矩阵1:");
        for (int[] row : matrix1) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }

        int[][] matrix2 = {
                {0, 1, 2, 0},
                {3, 4, 5, 2},
                {1, 3, 1, 5}
        };
        System.out.println("原始矩阵2:");
        for (int[] row : matrix2) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }

        setZeroes.setZeroes(matrix2);
        System.out.println("\n置零后的矩阵2:");
        for (int[] row : matrix2) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }

        int[][] matrix3 = {
                {0, 1, 0},
                {1, 0, 1},
                {0, 1, 0}
        };
        System.out.println("原始矩阵3:");
        for (int[] row : matrix3) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }

        setZeroes.setZeroes(matrix3);
        System.out.println("\n置零后的矩阵3:");
        for (int[] row : matrix3) {
            for (int val : row) {
                System.out.print(val + " ");
            }
            System.out.println();
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑远程控制esp32上的LED

1、思路整理 首先esp32需要连接上wifi 然后创建udp socket 接受udp数据 最后解析数据&#xff0c;控制LED 2、micropython代码实现 import network from socket import * from machine import Pin p2Pin(2,Pin.OUT)def do_connect(): #连接wifi wlan network.WLAN(network.…

linux fixmap分析

本文基于Linux-4.19.125&#xff0c; ARM V7&#xff0c;dual core, MMU采用2级页表&#xff08;未开启LPAE&#xff09;。 1 为什么需要fixmap Linux内核启动过程中&#xff0c;经过汇编阶段后&#xff0c;mmu功能已经开启&#xff0c;后续只能通过虚拟地址来访问DDR&#x…

如何通过VPN访问内网?

VPN&#xff08;Virtual Private Network&#xff09;是一种通过公共网络建立私有网络连接的技术&#xff0c;可以在不同地点的网络中建立安全通道&#xff0c;实现远程访问内网资源的目的。本文将介绍如何通过VPN访问内网&#xff0c;并介绍一款名为“天联”的VPN服务。 什么是…

solidity(3)

地址类型 pragma solidity ^0.8.0;contract AddressExample {// 地址address public _address 0x7A58c0Be72BE218B41C608b7Fe7C5bB630736C71;address payable public _address1 payable(_address); // payable address&#xff0c;可以转账、查余额// 地址类型的成员uint256…

Web前端开发——Vue概述

前言&#xff1a; 整理下学习笔记&#xff0c;打好基础&#xff0c;daydayup!!! Vue Vue是一套前端框架&#xff0c;基于MVVM(Model-View-ViewModel)思想&#xff0c;实现数据的双向绑定&#xff0c;将编程的专注点放在数据上&#xff0c;可以免除原生JavaScript中的DOM操作&am…

赋能Web3用户:增强在线隐私

随着数字化时代的发展&#xff0c;人们越来越依赖互联网来进行各种活动&#xff0c;从社交互动到金融交易&#xff0c;几乎所有的日常生活都离不开网络。然而&#xff0c;随之而来的是个人隐私安全面临的挑战。在传统的互联网架构下&#xff0c;用户的个人数据往往被中心化的平…

C语言—每日选择题—Day65

前言 我们的刷题专栏又又又开始了&#xff0c;本专栏总结了作者做题过程中的好题和易错题。每道题都会有相应解析和配图&#xff0c;一方面可以使作者加深理解&#xff0c;一方面可以给大家提供思路&#xff0c;希望大家多多支持哦&#xff5e; 第一题 1、如下代码输出的是什么…

【大数据存储】实验五:Mapreduce

实验Mapreduce实例——排序&#xff08;补充程序&#xff09; 实验环境 Linux Ubuntu 16.04 jdk-8u191-linux-x64 hadoop-3.0.0 hadoop-eclipse-plugin-2.7.3.jar eclipse-java-juno-SR2-linux-gtk-x86_64 实验内容 在电商网站上&#xff0c;当我们进入某电商页面里浏览…

小户型装修攻略:8个省空间的布局技巧分享!福州中宅装饰,福州装修

以下是8种小户型空间布局方案分享&#xff1a; 1. 功能分区 将房间划分为不同的功能区域&#xff0c;如休息区、工作区、存储区等。可以使用家具、地毯或窗帘等来划分区域&#xff0c;这样可以让空间看起来更加有组织和有序。 2. 卧室和客厅一体化 对于小户型来说&#xff0…

ubuntu系统安装k8s1.28精简步骤

目录 一、规划二、环境准备2.1 配置apt仓库配置系统基本软件仓库配置k8s软件仓库安装常用软件包 2.2 修改静态ip、ntp时间同步、主机名、hosts文件、主机免密2.3 内核配置2.4 关闭防火墙、selinux、swap2.5 安装软件安装docker安装containerd安装k8s软件包 三、安装配置k8s3.1 …

浏览器工作原理与实践--虚拟DOM:虚拟DOM和实际的DOM有何不同

虚拟DOM是最近非常火的技术&#xff0c;两大著名前端框架React和Vue都使用了虚拟DOM&#xff0c;所以我觉得非常有必要结合浏览器的工作机制对虚拟DOM进行一次分析。当然了&#xff0c;React和Vue框架本身所蕴含的知识点非常多&#xff0c;而且也不是我们专栏的重点&#xff0c…

QT:信号与槽

作业&#xff1a; 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和…

SpringCloud的使用以及五大核心组件

一、SpringCloud介绍 微服务架构的提出者&#xff1a;马丁福勒 https://martinfowler.com/articles/microservices.html // 微服务架构的提出者&#xff1a;马丁福勒&#xff08;中午网&#xff09; http://blog.cuicc.com/blog/2015/07/22/microservices/ 马丁.福勒对微服务…

手写简易操作系统(二十八)--实现简单shell

前情提要 Shell是计算机操作系统中的一个重要概念&#xff0c;它是用户与操作系统内核之间的接口。Shell接受用户的命令&#xff0c;并将其转换为操作系统能够理解的指令&#xff0c;然后执行这些指令&#xff0c;并将执行结果返回给用户。 Shell可以理解为一个命令解释器&am…

全面的网络流量监控

流量监控指的是对数据流进行的监控&#xff0c;通常包括出数据、入数据的速度、总流量。通过网络流量监控&#xff0c;组织可以确保只有业务关键型流量通过网络传输&#xff0c;并限制不需要的网络流量&#xff0c;从而提高网络效率&#xff0c;又可以防止停机、减少 MTTR、帮助…

OSPF防环文档

OPSF在区域内会产生俩类LSA&#xff1a;Router LSA &#xff0c;Network LSA 路由器以自己为树根构建最短路径树 &#xff0c;这里的最短路径树按两步形 成&#xff0c;第一步&#xff0c;仅考虑路由器和传输网络之间的连接。通过 Dijkstra 算法&#xff0c;根据链路状态数据…

FebHost:瑞士.CH域名注册介绍

瑞士&#xff0c;一个位于欧洲心脏地带的多元文化国家&#xff0c;不仅以其精准的钟表和迷人的巧克力闻名于世&#xff0c;还因其独特的国家代码顶级域名“.ch”在互联网上占有一席之地。与全球广泛使用的通用顶级域名&#xff08;gTLDs&#xff09;如“.com”、“.org”或“.n…

sqli-labs(宽字节less-33,二次less-24,update less-17,堆叠less-38)pikachu(insert,delete)

目录 宽字节 less-33 具体使用 sqlmap爆破宽字节 二次注入 less-24 靶场运用&#xff1a; update注入 less-17 具体使用&#xff1a; insert注入 pikachu演示 具体使用 delete注入 pikachu演示 堆叠注入 less-38 宽字节 less-33 宽字节注入是利用 mysql 的一个特性&…

访问elasticsearch集群提示ERROR 新增es数据失败,后台日志返回413 Request Entity Too Larg

一、背景&#xff1a; 在运维paas云平台时有研发反馈客户端访问elasticsearch服务偶发性的出现报错&#xff0c;提示报错如下&#xff1a; ERROR 1 --- [io-8407-exec-35] c.j.b.c.c.e.s.ElasticOperateServiceImpl : 新增es数据失败 二、问题分析&#xff1a; 报错日志内容核…

【Machine Learning系列】带你快速学习十大机器学习算法

前言 机器学习算法是一类用于从数据中学习模式和规律的算法。这些算法可以通过训练样本的输入和输出来推断出模型的参数&#xff0c;然后用于预测新的未知数据。 文章目录 前言机器学习算法1. 线性回归算法 Linear Regression2. 支持向量机算法(Support Vector Machine,SVM)3. …