文心一言 VS 讯飞星火 VS chatgpt (215)-- 算法导论16.2 2题

二、设计动态规划算法求解 0-1 背包问题,要求运行时间为 O(nW),n为商品数量,W是小偷能放进背包的最大商品总重量。如果要写代码,请用go语言。

文心一言:

0-1 背包问题是一个典型的动态规划问题,其目标是在给定的重量限制下最大化背包中物品的总价值。每个物品可以选择放入背包或不放入背包(0-1表示),并且每种物品只有一个。

为了设计满足 O(nW) 时间复杂度的算法,我们可以使用二维数组 dp[i][w] 来存储子问题的解,其中 i 表示考虑的物品数量,w 表示当前的重量限制。dp[i][w] 表示考虑前 i 个物品且重量不超过 w 的情况下能得到的最大价值。

下面是使用 Go 语言实现的代码:

package main  
  
import (  
	"fmt"  
)  
  
// Max returns the larger of x or y.  
func Max(x, y int) int {  
	if x > y {  
		return x  
	}  
	return y  
}  
  
// ZeroOneKnapsack 解决 0-1 背包问题  
func ZeroOneKnapsack(weights []int, values []int, W int) int {  
	n := len(weights)  
	dp := make([][]int, n+1)  
	for i := range dp {  
		dp[i] = make([]int, W+1)  
	}  
  
	for i := 1; i <= n; i++ {  
		for w := 1; w <= W; w++ {  
			if weights[i-1] <= w {  
				// 当前物品可以放入背包,考虑放入和不放入两种情况  
				dp[i][w] = Max(dp[i-1][w], dp[i-1][w-weights[i-1]]+values[i-1])  
			} else {  
				// 当前物品不能放入背包,只考虑不放入的情况  
				dp[i][w] = dp[i-1][w]  
			}  
		}  
	}  
  
	// 背包的最大价值即为 dp[n][W]  
	return dp[n][W]  
}  
  
func main() {  
	weights := []int{2, 3, 4, 5}  // 商品重量  
	values := []int{3, 4, 5, 6}  // 商品价值  
	W := 5                        // 背包最大承重  
  
	maxValue := ZeroOneKnapsack(weights, values, W)  
	fmt.Printf("The maximum value that can be put in a knapsack of capacity %d is %d\n", W, maxValue)  
}

这个算法的时间复杂度是 O(nW),因为我们需要遍历所有的物品(n个)和所有可能的重量(W个)。空间复杂度也是 O(nW),因为我们需要一个二维数组来存储中间结果。

注意,在实际应用中,可以通过优化来减少空间复杂度。例如,我们可以使用一维数组 dp[w] 来代替二维数组 dp[i][w],因为当前状态 dp[i][w] 只依赖于前一个状态 dp[i-1][w] 和 dp[i-1][w-weights[i-1]]。这样的优化通常称为“滚动数组”优化,可以将空间复杂度降低到 O(W)。不过,在这里为了保持算法描述的清晰性,我们使用了二维数组。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

讯飞星火:

0-1背包问题是一个经典的动态规划问题。在这个问题中,我们有n个商品,每个商品i有一个价值vi和一个重量wi。我们的目标是选择一些商品放入背包,使得总价值最大,同时保证总重量不超过W。

我们可以使用一个二维数组dp来存储中间结果。dp[i][j]表示在前i个商品中选择一些商品,使得总重量不超过j的最大价值。

状态转移方程为:dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]] + v[i]),其中w[i]和v[i]分别表示第i个商品的重量和价值。

初始状态为:dp[0][j] = 0,表示没有商品时,总价值为0。

最终答案为:dp[n][W],表示在前n个商品中选择一些商品,使得总重量不超过W的最大价值。

以下是用Go语言实现的代码:

package main

import (
	"fmt"
)

func knapsack(n int, W int, w []int, v []int) int {
	dp := make([][]int, n+1)
	for i := range dp {
		dp[i] = make([]int, W+1)
	}

	for i := 1; i <= n; i++ {
		for j := 1; j <= W; j++ {
			if w[i-1] <= j {
				dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i-1]]+v[i-1])
			} else {
				dp[i][j] = dp[i-1][j]
			}
		}
	}

	return dp[n][W]
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}

func main() {
	n := 4
	W := 5
	w := []int{2, 3, 4, 5}
	v := []int{3, 4, 5, 6}
	fmt.Println(knapsack(n, W, w, v)) // 输出:7
}

这个算法的时间复杂度为O(nW),满足题目要求。

在这里插入图片描述

在这里插入图片描述

360智脑:

动态规划算法求解0-1背包问题的基本思路是:创建一个二维数组,其中行表示商品,列表示背包所能承受的最大重量。然后,从左上角开始,逐步填充数组,直到到达右下角。在填充过程中,对于每一个商品和每一个背包重量,我们有两种选择:包含当前商品和不包含当前商品。我们比较这两种选择中能够得到的最大价值,并将其存储在数组中。

下面是用Go语言实现的代码:

package main

import "fmt"

func knapsack(weights []int, values []int, capacity int) int {
    n := len(weights)
    dp := make([][capacity + 1]int, n + 1)

    for i := 1; i <= n; i++ {
        for w := 1; w <= capacity; w++ {
            if weights[i-1] > w {
                dp[i][w] = dp[i-1][w]
            } else {
                dp[i][w] = max(dp[i-1][w], dp[i-1][w-weights[i-1]]+values[i-1])
            }
        }
    }

    return dp[n][capacity]
}

func max(a, b int) int {
    if a > b {
        return a
    }
    return b
}

func main() {
    weights := []int{1, 2, 3, 4}
    values := []int{6, 10, 12, 16}
    capacity := 5

    fmt.Println(knapsack(weights, values, capacity)) // 输出:22
}

在这个代码中,我们首先定义了一个表示商品重量的切片weights,一个表示商品价值的切片values,以及背包所能承受的最大重量capacity。然后,我们创建了一个二维数组dp,其中dp[i][w]表示前i个商品中,价值最大的子集的总价值,且其总重量不超过w。

接下来,我们从左上角开始,逐步填充数组dp。对于每一个商品和每一个背包重量,我们有两种选择:包含当前商品和不包含当前商品。我们比较这两种选择中能够得到的最大价值,并将其存储在数组dp中。

最后,我们返回数组dp的右下角元素,即为所求解的0-1背包问题的最大价值。

在这里插入图片描述

在这里插入图片描述

智谱清言:

0-1背包问题是一种典型的动态规划问题,其基本描述为:给定n种物品和一个容量为W的背包,物品i的重量是w[i],其价值为v[i],问应如何选择装入背包的物品,使得背包内物品的总价值最大,同时不超过背包的最大容量。

下面是使用Go语言实现的0-1背包问题的动态规划算法:

package main
import (
	"fmt"
)
// 动态规划解0-1背包问题
func knapsack(values []int, weights []int, W int, n int) int {
	// dp[i][w] 表示考虑前i件物品,背包容量为w时能够装下的最大价值
	dp := make([][]int, n+1)
	for i := range dp {
		dp[i] = make([]int, W+1)
	}
	// 初始化dp数组,可以处理边界情况
	for i := 0; i <= n; i++ {
		for w := 0; w <= W; w++ {
			if i == 0 || w == 0 {
				dp[i][w] = 0
			}
		}
	}
	// 填充dp数组
	for i := 1; i <= n; i++ {
		for w := 1; w <= W; w++ {
			if weights[i-1] <= w {
				// 可以选择放或者不放当前物品
				dp[i][w] = max(dp[i-1][w], dp[i-1][w-weights[i-1]]+values[i-1])
			} else {
				// 不能放当前物品,只能保持前i-1件物品的最大价值
				dp[i][w] = dp[i-1][w]
			}
		}
	}
	// 返回最大价值,即装满背包时的最大价值
	return dp[n][W]
}
// 辅助函数,用于比较两个int类型的值
func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}
func main() {
	// 示例数据
	values := []int{60, 100, 120}
	weights := []int{10, 20, 30}
	W := 50
	n := len(values)
	// 计算结果
	maxValue := knapsack(values, weights, W, n)
	fmt.Printf("The maximum value is %d\n", maxValue)
}

这段代码构建了一个二维数组dp,其中dp[i][w]保存的是考虑前i个物品,并且背包最大容量为w时能够得到的最大价值。算法的时间复杂度为O(nW),其中n是物品数量,W是背包的最大容量。这是因为我们需要填充一个n+1W+1列的二维数组。每个元素的计算只依赖于它左上角的元素和它的上一个元素,因此没有嵌套循环,直接计算即可。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

天工:

要设计一个运行时间为 O(nW) 的动态规划算法来解决 0-1 背包问题,我们可以使用一个一维数组 dp 来存储每个重量下的最大价值。这里的关键是要理解状态转移的过程,我们不是简单地遍历所有可能的重量组合,而是根据背包的剩余容量来更新 dp 数组。

以下是一个使用 Go 语言实现的 0-1 背包问题的动态规划解决方案:

package main

import "fmt"

// 0-1 Knapsack Problem solution with time complexity O(nW)
func knapsack(W int, weights []int, values []int) int {
    if len(weights) == 0 || W == 0 {
        return 0
    }

    dp := make([]int, W+1) // +1 to include the case where no items are taken

    for i := 1; i <= len(weights); i++ {
        for j := 1; j <= W; j++ {
            if weights[i-1] <= j {
                dp[j] = max(dp[j], dp[j-weights[i-1]]+values[i-1])
            } else {
                dp[j] = dp[j]
            }
        }
    }

    return dp[W]
}

// max returns the larger of two integers
func max(a, b int) int {
    if a >= b {
        return a
    }
    return b
}

func main() {
    W := 5 // Maximum weight that can be put in the backpack
    weights := []int{1, 2, 3} // Weights of the items
    values := []int{6, 10, 12} // Values of the items

    result := knapsack(W, weights, values)
    fmt.Println("Maximum value that can be obtained is:", result)
}

在这个实现中,我们首先检查是否至少有一个项目或背包容量不为零,如果没有,则返回零作为最大值。然后,初始化一个大小为 W+1dp 数组,用于存储每个可能的重量下的最大价值。

接着,我们遍历每个项目,对于每个可能的背包重量,我们根据当前项目的重量来更新 dp 数组。如果当前项目的重量小于或等于背包的当前重量,我们就更新 dp[j]dp[j-weights[i-1]]+values[i-1],否则保持 dp[j] 不变。

最后,dp[W] 将包含背包能够容纳的最大价值。

注意这个算法的时间复杂度是 O(nW),其中 n 是商品的数量,W 是背包的最大容量。这是因为我们需要对每个可能的背包重量和每个项目进行迭代。

在这里插入图片描述

在这里插入图片描述

灵小智:

下面是使用 Go 语言实现动态规划算法求解 0-1 背包问题的代码:

package main

import "fmt"

func knapsack(weights []int, values []int, W int) int {
	n := len(weights)
	dp := make([][]int, n+1)
	for i := 0; i <= n; i++ {
		dp[i] = make([]int, W+1)
	}

	for i := 1; i <= n; i++ {
		for j := 1; j <= W; j++ {
			if weights[i-1] > j {
				dp[i][j] = dp[i-1][j]
			} else {
				dp[i][j] = max(dp[i-1][j], dp[i-1][j-weights[i-1]]+values[i-1])
			}
		}
	}

	return dp[n][W]
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}

func main() {
	weights := []int{2, 3, 4, 5}
	values := []int{3, 4, 5, 6}
	W := 8

	maxValue := knapsack(weights, values, W)
	fmt.Println("背包中能获得的最大价值为:", maxValue)
}

此代码通过动态规划的方式解决了 0-1 背包问题,其中 weights 列表存储每个商品的重量,values 列表存储每个商品的价值,W 是背包的最大重量。函数 knapsack 返回背包中能获得的最大价值。输出结果为背包中能获得的最大价值。

在这里插入图片描述

在这里插入图片描述

chatgpt:

以下是使用Go语言编写的动态规划算法求解0-1背包问题,运行时间复杂度为O(nW):

package main

import (
	"fmt"
)

func knapSack(W int, wt []int, val []int, n int) int {
	dp := make([][]int, n+1)
	for i := 0; i <= n; i++ {
		dp[i] = make([]int, W+1)
	}

	for i := 0; i <= n; i++ {
		for w := 0; w <= W; w++ {
			if i == 0 || w == 0 {
				dp[i][w] = 0
			} else if wt[i-1] <= w {
				dp[i][w] = max(val[i-1]+dp[i-1][w-wt[i-1]], dp[i-1][w])
			} else {
				dp[i][w] = dp[i-1][w]
			}
		}
	}

	return dp[n][W]
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}

func main() {
	val := []int{60, 100, 120}
	wt := []int{10, 20, 30}
	W := 50
	n := len(val)

	maxValue := knapSack(W, wt, val, n)
	fmt.Println("Maximum value:", maxValue)
}

上述代码中,knapSack函数接受参数W(背包容量)、wt(商品重量数组)、val(商品价值数组)和n(商品数量),返回背包能够装下的最大价值。max函数用于返回两个整数中的较大值。

在示例中,给定3个商品的重量(wt)和价值(val),背包容量为50。根据动态规划算法,计算并输出背包能够装下的最大价值为220。

请注意,这只是一个基本的0-1背包问题求解算法示例。实际应用时,请根据具体需求进行相应修改。

在这里插入图片描述

在这里插入图片描述

kimi:

0-1 背包问题是一个经典的动态规划问题。在这个问题中,我们有 n 个商品,每个商品有一个重量 w[i] 和一个价值 v[i]。我们的目标是选择一些商品放入一个最大容量为 W 的背包中,使得背包中商品的总价值最大。

动态规划算法使用一个二维数组 dp[i][j] 来存储前 i 个商品放入容量为 j 的背包时能够获得的最大价值。状态转移方程如下:

dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]] + v[i]) for all 1 <= i <= n and 0 <= j <= W

以下是使用 Go 语言实现的 0-1 背包问题的动态规划算法:

package main

import (
	"fmt"
)

func knapsack(W int, weights []int, values []int) int {
	n := len(values)
	dp := make([][]int, n+1)
	for i := 0; i <= n; i++ {
		dp[i] = make([]int, W+1)
	}

	for i := 1; i <= n; i++ {
		for j := 0; j <= W; j++ {
			if j >= weights[i-1] {
				dp[i][j] = max(dp[i-1][j], dp[i-1][j-weights[i-1]]+values[i-1])
			} else {
				dp[i][j] = dp[i-1][j]
			}
		}
	}

	return dp[n][W]
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}

func main() {
	W := 50 // 小偷能放进背包的最大商品总重量
	weights := []int{10, 20, 30}
	values := []int{60, 100, 120}
	maxValue := knapsack(W, weights, values)
	fmt.Printf("Maximum value that can be put in the knapsack: %d\n", maxValue)
}

在这个实现中,我们首先定义了一个 knapsack 函数来执行动态规划算法。我们初始化一个二维数组 dp,并使用两层循环来填充它。对于每个商品 i 和每个背包容量 j,我们根据状态转移方程来更新 dp[i][j] 的值。最后,我们返回 dp[n][W],即前 n 个商品放入容量为 W 的背包时能够获得的最大价值。

这个算法的时间复杂度是 O(nW),因为它需要填充一个 n+1 x W+1 的二维数组。其中 n 是商品的数量,W 是背包的最大容量。

在这里插入图片描述

在这里插入图片描述

混元:

以下是使用 Go 语言实现的 0-1 背包问题的动态规划算法:

package main

import (
	"fmt"
)

func knapsack(W int, weights []int, values []int, n int) int {
	// 初始化动态规划表
	dp := make([][]int, n+1)
	for i := range dp {
		dp[i] = make([]int, W+1)
	}

	// 动态规划求解
	for i := 1; i <= n; i++ {
		for w := 0; w <= W; w++ {
			if weights[i-1] <= w {
				dp[i][w] = max(dp[i-1][w], dp[i-1][w-weights[i-1]]+values[i-1])
			} else {
				dp[i][w] = dp[i-1][w]
			}
		}
	}

	return dp[n][W]
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}

func main() {
	W := 10
	weights := []int{2, 3, 4, 5, 9}
	values := []int{3, 4, 5, 8, 10}
	n := len(weights)

	result := knapsack(W, weights, values, n)
	fmt.Println("最大价值为:", result)
}

这个算法的时间复杂度为 O(nW),其中 n 为商品数量,W 为小偷能放进背包的最大商品总重量。

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何高效接入 Flink:Connecter / Catalog API 核心设计与社区进展

摘要&#xff1a;本文整理自阿里云实时计算团队 Apache Flink Committer 和 PMC Member 任庆盛在 FFA 2023 核心技术专场&#xff08;二&#xff09;中的分享&#xff0c;内容主要分为以下四部分&#xff1a; 1. Source API 2. Sink API 3. 将 Connecter 集成至 Table /SQL A…

运动想象 (MI) 迁移学习系列 (9) : 数据对齐(EA)

运动想象迁移学习系列:数据对齐&#xff08;EA&#xff09; 0. 引言1. 迁移学习算法流程2. 欧式对齐算法流程3. 与RA算法进行对比4. 实验结果对比5. 总结欢迎来稿 论文地址&#xff1a;https://ieeexplore.ieee.org/abstract/document/8701679 论文题目&#xff1a;Transfer Le…

macOS Ventura 13.6.5 (22G621) Boot ISO 原版可引导镜像下载

macOS Ventura 13.6.5 (22G621) Boot ISO 原版可引导镜像下载 3 月 8 日凌晨&#xff0c;macOS Sonoma 14.4 发布&#xff0c;同时带来了 macOS Ventru 13.6.5 和 macOS Monterey 12.7.4 安全更新。 macOS Ventura 13.6 及更新版本&#xff0c;如无特殊说明皆为安全更新&…

Python数据分析-pandas3

1.pandas的作用&#xff1a; numpy能够帮助我们处理数值&#xff0c;但是pandas除了处理数值之外&#xff08;基于numpy&#xff09;&#xff0c;还能够帮助我们处理其他类型的数据。 2.pandas之Series创建&#xff1a; 3.pandas之Series切片和索引 4.缺失值处理 5.常用的统计…

【阅读论文】智能数据可视分析技术综述

智能数据可视分析技术综述 文章结构 中文引用格式: 骆昱宇, 秦雪迪, 谢宇鹏, 李国良. 智能数据可视分析技术综述. 软件学报, 2024, 35(1): 356–404. http://www.jos.org.cn/1000-9825/6911.htm

深度学习环境搭建

前言 因为一些原因&#xff0c;我需要更换一台新的服务器来跑深度学习。 这篇文章记录了我在新的远程服务器上搭建深度学习环境的过程。 基本情况 本人采用笔记本电脑连接远程服务器的方式跑深度学习代码。 笔记本电脑环境&#xff1a; 远程服务器环境&#xff1a; 环境搭…

PHP<=7.4.21 Development Server源码泄露漏洞 例题

打开题目 dirsearch扫描发现存在shell.php 非预期解 访问shell.php&#xff0c;往下翻直接就看到了flag.. 正常解法 访问shell.php 看见php的版本是7.3.33 我们知道 PHP<7.4.21时通过php -S开起的WEB服务器存在源码泄露漏洞&#xff0c;可以将PHP文件作为静态文件直接输…

西门子PLC常用底层逻辑块分享_单/双输出电磁阀

文章目录 前言一、功能概述二、单输出电磁阀程序编写1.创建自定义数据类型2.创建FB功能块“单输出电磁阀”3.编写程序 三、双输出电磁阀程序编写1.创建自定义数据类型2.创建FB功能块“双输出电磁阀”3.编写程序 前言 本文分享一个自己编写的电磁阀控制逻辑块。 一、功能概述 …

搭建谷歌Gemini

前言 Gemini是Google AI于2023年发布的大型语言模型&#xff0c;拥有强大的文本生成、理解和转换能力。它基于Transformer模型架构&#xff0c;并使用了大量文本和代码数据进行训练。Gemini可以执行多种任务&#xff0c;包括&#xff1a; 生成文本&#xff1a;可以生成各种类…

COX回归影响因素分析的基本过程与方法

在科学研究中&#xff0c;经常遇到分类的结局&#xff0c;主要是二分类结局&#xff08;阴性/阳性&#xff1b;生存/死亡&#xff09;&#xff0c;研究者可以通过logistic回归来探讨影响结局的因素&#xff0c;但很多时候logistic回归方法无法使用。如比较两种手段治疗新冠肺炎…

Cookie和Session介绍

1、Cookie的一些重要结论&#xff08;令牌&#xff0c;类似就诊卡记住我们的信息&#xff09;&#xff1a; &#xff08;1&#xff09;Cookie从哪里来&#xff1a;服务器返回给浏览器的&#xff0c;通常是首次访问/登录成功之后&#xff08;cookie是在header中传输&#xff09…

稀碎从零算法笔记Day17-LeetCode:有效的括号

题型&#xff1a;栈 链接&#xff1a;20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述&#xff08;红字为笔者添加&#xff09; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 …

flstudio教程如何设置成中文 flstudio基础教程 flstudio免费

Fl studio编曲软件总共有英文和中文两种语言供用户选择&#xff0c;对于我们来说&#xff0c;更习惯于使用中文版本的flstudio编曲软件&#xff0c;包括我自己也比较习惯于使用中文版本的flstudio&#xff0c;同时也能提高工作效率。Flstudio编曲软件默认语言是英文&#xff0c…

力扣 322 零钱兑换

题目描述 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1&#xff1a; 输入&#xff1a;coins [1, 2, 5…

VUE基础易错点概述

文章目录 Post/Get请求的区别插槽验证规则的使用ref与$refslable 与 :lable 两个页面间的切换在主页面中&#xff0c;自定义子组件在子页面中 .sync修饰符 本文主要介绍了 Post与Get请求、插槽、验证器的使用、ref与$refs、lable 与 :lable、两个页面的切换以及自定义组件 用于…

圈子社交系统-多人语音-交友-陪玩-活动报名-商城-二手论坛-源码交付,支持二开!

圈子小程序适用于多种场景&#xff0c;涵盖了各个领域的社交需求。以下是一些常见的适用场景&#xff1a; 兴趣社区&#xff1a; 用户可以加入自己感兴趣的圈子&#xff0c;与志同道合的人一起讨论交流&#xff0c;分享经验和知识。 行业交流&#xff1a; 各个行业可以建立自…

202106青少年软件编程(Scratch图形化)等级考试试卷(二级)

第1题:【 单选题】 小明同学设计了一款游戏,其中一段程序如下图所示,下面这段程序可以实现哪项功能?( ) A:在任何地方点击鼠标,角色都会移到鼠标位置 B:没有任何操作的时候角色会在舞台区域随机移动 C:按下空格键后,角色会在一秒内滑行到舞台中央 D:角色碰到黄色会…

【保姆级】GPT的Oops问题快速解决方案

GPT的"Oops"问题通常指的是GPT在处理请求时突然遇到错误或无法提供预期输出的情况。要快速解决这个问题&#xff0c;可以尝试以下分步策略&#xff1a; 确认问题范围&#xff1a; 首先&#xff0c;确认问题是偶发的还是持续存在的。如果是偶发的&#xff0c;可能是临…

Hadoop大数据应用:HDFS 集群节点缩容

目录 一、实验 1.环境 2.HDFS 集群节点缩容 二、问题 1.数据迁移有哪些状态 2.数据迁移失败 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构软件版本IP备注hadoop NameNode &#xff08;已部署&#xff09; SecondaryNameNode &#xff08;已部署…

中宣部防沉迷系统PHP版本(管局防沉迷验证-PHP-全版本-接口测试样例)

现在对接游戏&#xff0c;无论是登录还是支付都是要去对接防沉迷实名认证接口&#xff0c;但前期的话你要登录网络游戏防沉迷实名认证系统进行接口测试&#xff0c;$appid &#xff0c;$bizId&#xff0c;$key去接口测试页面找&#xff08;正式上线在密钥管理&#xff09;&…