力扣练习题(2024/4/16)

1买卖股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

示例 1:

输入:[7,1,5,3,6,4]
输出:5
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。

示例 2:

输入:prices = [7,6,4,3,1]
输出:0
解释:在这种情况下, 没有交易完成, 所以最大利润为 0。

提示:

  • 1 <= prices.length <= 105
  • 0 <= prices[i] <= 104

思路1暴力解法:

暴力解法的思路是遍历所有可能的买入和卖出时机,并计算它们之间的利润,然后找出利润最大的情况。具体步骤如下:

  1. 遍历所有可能的买入和卖出时机:使用两重循环,外层循环遍历可能的买入时机,内层循环在外层循环中的每个买入时机后面遍历可能的卖出时机。

  2. 计算利润:对于每一对买入和卖出时机,计算卖出价格减去买入价格得到的利润。

  3. 找出最大利润:在遍历过程中不断更新最大利润,并记录对应的买入和卖出时机。

  4. 返回结果:最终返回最大利润及对应的买入和卖出时机。

代码:

class Solution {
public:// 计算股票的最大利润int maxProfit(vector<int>& prices) {int result = 0; // 初始化最大利润为0for (int i = 0; i < prices.size(); i++) { // 遍历所有可能的买入时机for (int j = i + 1; j < prices.size(); j++){ // 在每个买入时机后面遍历可能的卖出时机result = max(result, prices[j] - prices[i]); // 计算当前买入和卖出时机的利润并更新最大利润}}return result; // 返回最大利润}
};

思路2:

解题思路是基于动态规划的思想。首先,我们定义了一个二维动态规划数组 dp,其中 dp[i][0] 表示第 i 天不持有股票时的最大利润,dp[i][1] 表示第 i 天持有股票时的最大利润。然后,我们通过遍历股票价格列表,在每一天都更新 dp 数组的值,直到遍历完所有的天数。

在更新 dp 数组的过程中,我们根据状态转移方程进行更新。对于第 i 天,有两种情况:

  1. 如果第 i 天不持有股票,则其最大利润为前一天不持有股票的利润 dp[i-1][0],或者是前一天持有股票,然后在第 i 天卖出股票得到的利润 dp[i-1][1] + prices[i] 的较大值。
  2. 如果第 i 天持有股票,则其最大利润为前一天持有股票的利润 dp[i-1][1],或者是前一天不持有股票,然后在第 i 天买入股票得到的利润 -prices[i] 的较大值。

根据以上思路,我们在循环中更新 dp 数组的值,最终返回最后一天不持有股票时的最大利润,即 dp[len-1][0]

注意这里说的是“持有”,“持有”不代表就是当天“买入”!也有可能是昨天就买入了,今天保持持有的状态

dp数组如何初始化

由递推公式 dp[i][0] = max(dp[i - 1][0], -prices[i]); 和 dp[i][1] = max(dp[i - 1][1], prices[i] + dp[i - 1][0]);可以看出

其基础都是要从dp[0][0]和dp[0][1]推导出来。

那么dp[0][0]表示第0天持有股票,此时的持有股票就一定是买入股票了,因为不可能有前一天推出来,所以dp[0][0] -= prices[0];

dp[0][1]表示第0天不持有股票,不持有股票那么现金就是0,所以dp[0][1] = 0;

代码:

class Solution {
public:// 计算股票的最大利润int maxProfit(vector<int>& prices) {int len = prices.size(); // 获取股票价格列表的长度if (len == 0) {return 0; // 如果列表为空,返回0}vector<vector<int>> dp(len, vector<int>(2)); // 定义二维动态规划数组dpfor (int i = 0; i < len; i++) {// 根据状态转移方程填充dp数组if (i == 0) {dp[i][0] = 0;dp[i][1] = -prices[i]; // 第一天持有股票的利润为 -prices[i]} else {// 不持有股票的利润为前一天不持有股票的利润与前一天持有股票今天卖出的利润的较大值dp[i][0] = max(dp[i-1][0], dp[i-1][1] + prices[i]);// 持有股票的利润为前一天持有股票的利润与今天买入股票的利润的较大值dp[i][1] = max(dp[i-1][1], -prices[i]); // -prices[i] 表示买入股票的利润}}return dp[len-1][0]; // 返回最后一天持有股票获得的利润}
};

2买卖股票的最佳时机 II

给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。

在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。

返回 你能获得的 最大 利润 。

示例 1:

输入:prices = [7,1,5,3,6,4]
输出:7
解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3 。总利润为 4 + 3 = 7 。

示例 2:

输入:prices = [1,2,3,4,5]
输出:4
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4 。总利润为 4 。

示例 3:

输入:prices = [7,6,4,3,1]
输出:0
解释:在这种情况下, 交易无法获得正利润,所以不参与交易可以获得最大利润,最大利润为 0 。

提示:

  • 1 <= prices.length <= 3 * 104
  • 0 <= prices[i] <= 104

思路:

  • dp[i][0] 表示第i天持有股票所得现金。
  • dp[i][1] 表示第i天不持有股票所得最多现金

重点

  1. 首先,定义一个二维动态规划数组 dp,其中 dp[i][0] 表示第 i 天不持有股票时的最大利润,dp[i][1] 表示第 i 天持有股票时的最大利润。

  2. 初始条件设定为第一天,即 dp[0][0] 表示第一天持有股票的利润为负的第一天股票价格,dp[0][1] 表示第一天不持有股票的利润为0。

  3. 然后,利用状态转移方程进行动态规划。遍历股票价格列表,对于每一天的状态,更新 dp 数组的值。

  4. 对于 dp[i][0],表示第 i 天不持有股票时的最大利润,可以选择在前一天不持有股票的情况下保持不动,或者在前一天持有股票的情况下在第 i 天卖出股票。因此,取两者之间的较大值作为 dp[i][0] 的值。

  5. 对于 dp[i][1],表示第 i 天持有股票时的最大利润,可以选择在前一天持有股票的情况下保持不动,或者在前一天不持有股票的情况下在第 i 天买入股票。同样,取两者之间的较大值作为 dp[i][1] 的值。

  6. 最终,返回 dp[len - 1][1],表示最后一天不持有股票获得的最大利润,即为问题的解。

  • dp[i - 1][0] 表示第 i - 1 天不持有股票时的最大利润,即前一天的利润。
  • dp[i - 1][1] - prices[i] 表示前一天持有股票时的最大利润减去第 i 天股票价格后的值,即前一天持有股票,然后在第 i 天卖出股票得到的利润。

因此,max(dp[i - 1][0], dp[i - 1][1] - prices[i]) 取了这两者之间的较大值,即在第 i 天不持有股票时,我们要么保持不动,要么前一天持有股票并在第 i 天卖出,取两者利润的最大值。

  • dp[i - 1][1] 表示第 i - 1 天持有股票时的最大利润,即前一天的利润。
  • dp[i - 1][0] + prices[i] 表示前一天不持有股票时的最大利润加上第 i 天股票价格后的值,即前一天不持有股票,然后在第 i 天买入股票得到的利润。

因此,max(dp[i - 1][1], dp[i - 1][0] + prices[i]) 取了这两者之间的较大值,即在第 i 天持有股票时,我们要么保持不动,要么前一天不持有股票并在第 i 天买入,取两者利润的最大值。

代码:

class Solution {
public:// 计算股票的最大利润int maxProfit(vector<int>& prices) {int len = prices.size(); // 获取股票价格列表的长度vector<vector<int>> dp(len, vector<int>(2, 0)); // 定义二维动态规划数组dp,初始化为0dp[0][0] -= prices[0]; // 第一天持有股票的利润为 -prices[0]dp[0][1] = 0; // 第一天不持有股票的利润为0for (int i = 1; i < len; i++) {// 不持有股票的利润为前一天不持有股票的利润与前一天持有股票今天买入的利润的较大值dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] - prices[i]); // 注意这里是和 买卖股票的最佳时机唯一不同的地方。// 持有股票的利润为前一天持有股票的利润与今天卖出股票的利润的较大值dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] + prices[i]);}return dp[len - 1][1]; // 返回最后一天不持有股票获得的利润}
};

3买卖股票的最佳时机 III

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

示例 1:

输入:prices = [3,3,5,0,0,3,1,4]
输出:6
解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3 。

示例 2:

输入:prices = [1,2,3,4,5]
输出:4
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。   注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。   因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。

示例 3:

输入:prices = [7,6,4,3,1] 
输出:0 
解释:在这个情况下, 没有交易完成, 所以最大利润为 0。

示例 4:

输入:prices = [1]
输出:0

提示:

  • 1 <= prices.length <= 105
  • 0 <= prices[i] <= 105

3买卖股票的最佳时机 III

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

示例 1:

输入:prices = [3,3,5,0,0,3,1,4]
输出:6
解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3 。

示例 2:

输入:prices = [1,2,3,4,5]
输出:4
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。   注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。   因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。

示例 3:

输入:prices = [7,6,4,3,1] 
输出:0 
解释:在这个情况下, 没有交易完成, 所以最大利润为 0。

示例 4:

输入:prices = [1]
输出:0

提示:

  • 1 <= prices.length <= 105
  • 0 <= prices[i] <= 105

思路:

  1. 定义动态规划数组: 我们首先定义一个二维数组 dp,其中 dp[i][j] 表示在第 i 天结束时进行第 j 次交易后的剩余最大现金。这里 j 取值范围为 0 到 4,分别代表不进行交易、进行一次买入、进行一次卖出、进行两次买入、进行两次卖出。

  2. 初始化动态规划数组: 对于第一天,我们需要考虑可以进行的交易操作。因为题目要求最多可以完成两笔交易,所以第一天可以进行第一次买入和第二次买入。因此,我们将 dp[0][1] 和 dp[0][3] 设置为负的第一天股票价格,表示在第一天结束时进行第一次买入和第二次买入操作后的剩余最大现金。

  3. 状态转移方程: 接下来,我们需要根据状态转移方程更新动态规划数组。具体地:

    • 对于进行买入操作的情况,我们需要考虑前一天是否已经进行了相应的交易。根据状态转移方程,我们取前一天结束时未进行买入操作和前一天结束时已经进行了买入操作但保持不变或者在当天买入的较大值。

    • 对于进行卖出操作的情况,同样需要考虑前一天是否已经进行了相应的交易。根据状态转移方程,我们取前一天结束时未进行卖出操作和前一天结束时已经进行了卖出操作但保持不变或者在当天卖出的较大值。

  4. 返回结果: 最后,我们返回 dp[prices.size() - 1][4],表示第 len - 1 天结束时进行第二次卖出操作后的剩余最大现金,即为问题的解。

代码:

class Solution {
public:
int maxProfit(vector<int>& prices) {
if (prices.size() == 0) return 0; // 如果股票价格列表为空,则返回0
vector<vector<int>> dp(prices.size(), vector<int>(5, 0)); // 定义二维动态规划数组dp,行数为股票价格列表的长度,列数为5,初始化为0
dp[0][1] = -prices[0]; // 第一天结束时进行第一次买入操作后的剩余最大现金为负的第一天股票价格
dp[0][3] = -prices[0]; // 第一天结束时进行第二次买入操作后的剩余最大现金为负的第一天股票价格
for (int i = 1; i < prices.size(); i++) {
// 计算第一次买入操作后的剩余最大现金
dp[i][0] = dp[i - 1][0];
dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] - prices[i]);
// 计算第一次卖出操作后的剩余最大现金
dp[i][2] = max(dp[i - 1][2], dp[i - 1][1] + prices[i]);
// 计算第二次买入操作后的剩余最大现金
dp[i][3] = max(dp[i - 1][3], dp[i - 1][2] - prices[i]);
// 计算第二次卖出操作后的剩余最大现金
dp[i][4] = max(dp[i - 1][4], dp[i - 1][3] + prices[i]);
}
return dp[prices.size() - 1][4]; // 返回第 len - 1 天结束时进行第二次卖出操作后的剩余最大现金
}
};

4买卖股票的最佳时机 IV

给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

示例 1:

输入:k = 2, prices = [2,4,1]
输出:2
解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2 。

示例 2:

输入:k = 2, prices = [3,2,6,5,0,3]
输出:7
解释:在第 2 天 (股票价格 = 2) 的时候买入,在第 3 天 (股票价格 = 6) 的时候卖出, 这笔交易所能获得利润 = 6-2 = 4 。随后,在第 5 天 (股票价格 = 0) 的时候买入,在第 6 天 (股票价格 = 3) 的时候卖出, 这笔交易所能获得利润 = 3-0 = 3 。

提示:

  • 1 <= k <= 100
  • 1 <= prices.length <= 1000
  • 0 <= prices[i] <= 1000

思路:

  1. 边界情况处理

    • 首先检查股票价格数组是否为空,如果为空直接返回0。
  2. 初始化动态规划数组 dp

    • 创建一个二维数组 dp,大小为 prices.size() × (2 * k + 1),表示在不同天数和不同交易次数下的最大利润。
  3. 第一天情况的初始化

    • 针对每次交易的买入操作,将 dp[0][j](奇数索引)设为 -prices[0],表示第一次买入的情况。
  4. 动态规划状态转移

    • 从第二天开始遍历股票价格数组。
    • 对于每天和每种交易次数,根据状态转移方程更新 dp[i][j]
      • dp[i][j + 1]:表示第 j/2 + 1 次买入股票的最大利润,可以选择继续保持不持有或者在前一天持有的基础上卖出。
      • dp[i][j + 2]:表示第 j/2 + 1 次卖出股票的最大利润,可以选择继续持有或者在前一天未持有的基础上买入。
  5. 返回结果

    • 在所有交易完成后(即遍历完所有天数),返回 dp[prices.size() - 1][2 * k],表示在最后一天结束时,最多进行 k 次交易的最大利润。

代码:

class Solution {
public:int maxProfit(int k, vector<int>& prices) {// 边界情况处理:如果股票价格数组为空,直接返回0if (prices.size() == 0) return 0;// 初始化动态规划数组vector<vector<int>> dp(prices.size(), vector<int>(2 * k + 1, 0));// 初始化第一天的情况for (int j = 1; j < 2 * k; j += 2) {dp[0][j] = -prices[0]; // 第一次买入的情况}// 动态规划,根据状态转移方程更新dp数组for (int i = 1; i < prices.size(); ++i) {for (int j = 0; j < 2 * k - 1; j += 2) {// 第i天未持有股票的情况,考虑继续未持有或者在前一天持有的基础上卖出dp[i][j + 1] = max(dp[i - 1][j + 1], dp[i - 1][j] - prices[i]);// 第i天持有股票的情况,考虑继续持有或者在前一天未持有的基础上买入dp[i][j + 2] = max(dp[i - 1][j + 2], dp[i - 1][j + 1] + prices[i]);}}// 返回最后一天结束时,最多进行k次交易的最大利润return dp[prices.size() - 1][2 * k];}
};

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

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

相关文章

单链表经典算法题分析

目录 一、链表的中间节点 1.1 题目 1.2 题解 1.3 收获 二、移除链表元素 2.1 题目 2.2 题解 2.3 收获 2.4递归详解 三、反转链表 3.1 题目 3.2 题解 3.3 解释 四、合并两个有序列表 4.1 题目 4.2 题解 4.3 递归详解 声明&#xff1a;本文所有题目均摘自leetco…

《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)

1.简介 页面对象模型&#xff08;Page Object Model&#xff09;在Selenium Webdriver自动化测试中使用非常流行和受欢迎&#xff0c;作为自动化测试工程师应该至少听说过POM这个概念。本篇介绍POM的简介&#xff0c;接下来宏哥一步一步告诉你如何在你JavaSelenium3自动化测试…

13个Java基础面试题

Hi&#xff0c;大家好&#xff0c;我是王二蛋。 金三银四求职季&#xff0c;特地为大家整理出13个 Java 基础面试题&#xff0c;希望能为正在准备或即将参与面试的小伙伴们提供些许帮助。 后续还会整理关于线程、IO、JUC等Java相关面试题&#xff0c;敬请各位持续关注。 这1…

【ROS2】搭建ROS2-Humble + Vscode开发流程

【ROS2】搭建ROS2-Humble Vscode开发流程 文章目录 【ROS2】搭建ROS2-Humble Vscode开发流程1.基本环境配置2.搭建Vscode开发环境 1.基本环境配置 基本的环境配置包括以下步骤&#xff1a; 安装ROS2-Humble&#xff0c;可以参考这里安装一些基本的工具&#xff0c;可以参考…

nuxt3项目使用swiper11插件实现点击‘’返回顶部按钮‘’返回到第一屏

该案例主要实现点击返回顶部按钮返回至swiper第一个slide。 版本&#xff1a; "nuxt": "^3.10.3", "pinia": "^2.1.7", "swiper": "^11.0.7", 官方说明 swiper.slideTo(index, speed, runCallbacks) Run transit…

浅析MySQL 8忘记密码处理方式

对MySQL有研究的读者&#xff0c;可能会发现MySQL更新很快&#xff0c;在安装方式上&#xff0c;MySQL提供了两种经典安装方式&#xff1a;解压式和一键式&#xff0c;虽然是两种安装方式&#xff0c;但我更提倡选择解压式安装&#xff0c;不仅快&#xff0c;还干净。在操作系统…

【数据结构1-基本概念和术语】

这里写自定义目录标题 0.数据&#xff0c;数据元素&#xff0c;数据项&#xff0c;数据对项&#xff0c;数据结构&#xff0c;逻辑结构&#xff0c;存储结构1.结构1.1逻辑结构1.2存储结构1.2.1 顺序结构1.2.2链式结构 1.3数据结构1.3.1基本数据类型1.3.2抽象数据类型1.3.2.1一个…

Java SpringBoot基于微信小程序的高速公路服务区充电桩在线预定系统,附源码

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

05节-51单片机-模块化编程

1.两种编程方式的对比 传统方式编程&#xff1a; 所有的函数均放在main.c里&#xff0c;若使用的模块比较多&#xff0c;则一个文件内会有很多的代码&#xff0c;不利于代码的组织和管理&#xff0c;而且很影响编程者的思路 模块化编程&#xff1a; 把各个模块的代码放在不同的…

STM32外设配置以及一些小bug总结

USART RX的DMA配置 这里以UART串口1为例&#xff0c;首先点ADD添加RX和TX配置DMA&#xff0c;然后模式一般会选择是normal&#xff0c;这个模式是当DMA的计数器减到0的时候就不做任何动作了&#xff0c;还有一种循环模式&#xff0c;是计数器减到0之后&#xff0c;计数器自动重…

Echats 引入地图(二) 之中国地图省份高亮

效果图&#xff1a; 代码&#xff1a; series: [{type: map,map: china,zoom: 1.2, // 地图放大aspectScale: 0.8, //地图宽高比例roam: true, //地图缩放、平移// 滚轮缩放的极限控制scaleLimit: {min: 0.5, //缩放最小大小max: 6, //缩放最大大小},itemStyle…

使用Android studio,安卓手机编译安装yolov8部署ncnn,频繁出现编译错误

从编译开始就开始出现错误&#xff0c;解决步骤&#xff1a; 1.降低graddle版本&#xff0c;7.2-bin --->>> 降低为 6.1.1-all #distributionUrlhttps\://services.gradle.org/distributions/gradle-7.2-bin.zip distributionUrlhttps\://services.gradle.org/di…

5.HC-05蓝牙模块

配置蓝牙模块 注意需要将蓝牙模块接5v,实测接3.3v好像不太好使的样子 首先需要把蓝牙模块通过TTL串口模块接到我们的电脑,然后打开我们的串口助手 注意,我们现在是配置蓝牙模块,所以需要进入AT模式,需要按着蓝牙模块上的黑色小按钮再上电,这时候模块上的LED灯以一秒慢闪一次…

性能工具之emqtt-bench BenchMark 测试示例

文章目录 一、前言二、典型压测场景三、机器准备四、典型压测场景1、并发连接2、消息吞吐量测试2.1 1 对 1&#xff08;示例&#xff09;2.2 多对1&#xff08;示例&#xff09;2.3 1对多&#xff08;示例&#xff09; 五、遇到的问题client(): EXIT for {shutdown,eaddrnotava…

IDM2024破解版 IDM软件破解注册序列号 idm教程 idm序列激活永久授权 Internet Download Manager网络下载加速神器

你是不是感觉下载东西资源的时候&#xff0c;下载的非常慢&#xff0c;即便是五十兆的光纤依旧慢、是不是想下载网页上的视频但不知如何进行下载……这些问题是否一直在困扰着您&#xff0c;今日小编特意我大家带来了这款IDM 2024破解版。 众所周知&#xff0c;IDM是一款功能强…

ChatGPT实用指南2024

随着ChatGPT技术的演进&#xff0c;越来越多的人开始在工作中利用此工具。以下是关于ChatGPT的实用指南&#xff0c;适合不太熟悉此技术的朋友参考。 一、ChatGPT概述 1. ChatGPT是什么&#xff1f; ChatGPT是基于OpenAI开发的GPT大型语言模型的智能对话工具。它能够通过自然语…

1.8.5 卷积神经网络近年来在结构设计上的主要发展和变迁——Inception-v4 和 Inception-ResNet

1.8.5 卷积神经网络近年来在结构设计上的主要发展和变迁——Inception-v4 和 Inception-ResNet 前情回顾&#xff1a; 1.8.1 卷积神经网络近年来在结构设计上的主要发展和变迁——AlexNet 1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet 1.8.3 卷积神经网络近…

oracle安装后报错ORA-01031: insufficient privileges

1.管理员身份打开CMD&#xff0c;输入net user查看计算机用户 2.键入"net localgroup ora_dba"查看ora_dba下的具体用户 3.键入"net localgroup ora_dba administrator /add"把本计算机用户都添加进ora_dba组下

接口测试——postman

一.下载与安装 https://www.getPostman.com/ 界面导航说明 二.get请求 第一个get请求 批量执行接口请求&#xff1a; 1. 右击run collection 2. 会出现runner标签页 携带参数的GET请求 所谓的查询参数&#xff0c;其实就是URL地址中问号&#xff08;?&#xff09;后面的部分…

使用Python进行自动化测试【第163篇—自动化测试】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 如何使用Python进行自动化测试&#xff1a;测试框架的选择与应用 自动化测试是软件开发过程…