当前位置: 首页 > news >正文

怎么在百度上做网站微信网站模板源码下载

怎么在百度上做网站,微信网站模板源码下载,网页设计精品课程网站,wordpress非插件幻灯片版本说明 当前版本号[20231120]。 版本修改说明20231120初版 目录 文章目录 版本说明目录N皇后 II题目解题思路代码思路参考代码 买卖股票的最佳时机 II题目解题思路代码思路参考代码 编程通过键盘输入每一位运动员题目解题思路代码思路参考代码 N皇后 II 题目 n 皇后问题…版本说明 当前版本号[20231120]。 版本修改说明20231120初版 目录 文章目录 版本说明目录N皇后 II题目解题思路代码思路参考代码 买卖股票的最佳时机 II题目解题思路代码思路参考代码 编程通过键盘输入每一位运动员题目解题思路代码思路参考代码 N皇后 II 题目 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上并且使皇后彼此之间不能相互攻击。 给你一个整数 n 返回 n 皇后问题 不同的解决方案的数量。 示例 1 输入n 4 输出2 解释如上图所示4 皇后问题存在两个不同的解法。 示例 2 输入n 1 输出1 提示 1 n 9 皇后彼此不能相互攻击也就是说任何两个皇后都不能处于同一条横行、纵行或斜线上。 以下程序实现了这一功能请你填补空白处内容 class Solution(object):def __init__(self):self.count 0def totalNQueens(self, n):self.dfs(0, n, 0, 0, 0)return self.countdef dfs(self, row, n, column, diag, antiDiag):if row n:self.count 1returnfor index in range(n):isColSafe (1 index) column 0isDigSafe (1 (n - 1 row - index)) diag 0isAntiDiagSafe (1 (row index)) antiDiag 0if isAntiDiagSafe and isColSafe and isDigSafe:_________________________; if __name__ __main__:s Solution()print (s.totalNQueens(4))解题思路 初始化一个计数器 count用于记录解决方案的数量。定义一个深度优先搜索函数 dfs用于寻找 n 皇后问题的解决方案。在 dfs 函数中使用递归的方式进行深度优先搜索。对于每一行遍历每一列检查当前位置是否安全即没有其他皇后在同一行、同一列或同一对角线上。如果当前位置安全继续搜索下一行并更新 column、diag 和 antiDiag 的值。如果已经放置了 n 个皇后找到一个解决方案增加计数器 count 的值。返回计数器 count 的值作为解决方案数量。 代码思路 定义一个名为Solution的类包含一个初始化方法__init__和一个计算解决方案数量的方法totalNQueens。 在初始化方法中将计数器count初始化为0。 class Solution(object):def __init__(self):self.count 0 # 初始化计数器为0在totalNQueens方法中调用深度优先搜索函数dfs传入初始参数row0, n棋盘大小 column0, diag0, antiDiag0。 def totalNQueens(self, n):计算n皇后问题的解决方案数量:param n: 棋盘大小:return: 解决方案数量self.dfs(0, n, 0, 0, 0) # 从第0行开始深度优先搜索return self.count # 返回解决方案数量在dfs函数中使用递归的方式进行深度优先搜索。 def dfs(self, row, n, column, diag, antiDiag):深度优先搜索函数用于寻找n皇后问题的解决方案:param row: 当前行数:param n: 棋盘大小:param column: 列掩码表示已经放置的皇后所在的列:param diag: 主对角线掩码表示已经放置的皇后所在的主对角线:param antiDiag: 副对角线掩码表示已经放置的皇后所在的副对角线如果已经放置了n个皇后找到一个解决方案增加计数器self.count的值。 if row n: # 如果已经放置了n个皇后找到一个解决方案self.count 1 # 增加解决方案计数器return遍历每一列检查当前位置是否安全即没有其他皇后在同一行、同一列或同一对角线上。 for index in range(n): # 遍历每一列如果当前位置安全继续搜索下一行更新column、diag和antiDiag的值。 最后返回计数器self.count的值作为解决方案的数量。 isColSafe (1 index) column 0 # 检查当前列是否安全isDigSafe (1 (n - 1 row - index)) diag 0 # 检查主对角线是否安全isAntiDiagSafe (1 (row index)) antiDiag 0 # 检查副对角线是否安全if isAntiDiagSafe and isColSafe and isDigSafe: # 如果当前位置安全继续搜索下一行self.dfs(row 1, n, (1 index) | column, (1 (n - 1 row - index)) | diag, (1 (row index)) | antiDiag)在主程序中创建一个Solution对象s并调用totalNQueens方法传入棋盘大小n4输出4皇后问题的解决方案数量。 if __name__ __main__:s Solution() # 创建Solution对象print(s.totalNQueens(4)) # 输出4皇后问题的解决方案数量参考代码 这段代码是使用深度优先搜索算法来寻找所有可能的解决方案并返回解决方案的数量。 self.dfs(row 1, n, (1 index) | column,(1 (n - 1 row - index)) | diag,(1 (row index)) | antiDiag)买卖股票的最佳时机 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 。 示例 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。 提示 1 prices.length 3 * 104 0 prices[i] 104 解题思路 初始化两个变量hold表示持有股票的标志0表示不持有1表示持有pric用于记录买入和卖出的价格temp用于记录每次交易的利润flag表示买入价格的索引msum表示最大利润。如果价格列表长度小于等于2直接计算最大利润。如果价格列表为空返回0如果只有一个价格返回0如果第一个价格大于第二个价格返回0如果第一个价格小于第二个价格返回第二个价格减去第一个价格。遍历价格列表找到买入和卖出的价格。如果下一个价格大于当前价格且不持有股票将持有标志设为1记录买入价格的索引继续遍历如果下一个价格小于当前价格且持有股票将买入和卖出的价格分别添加到pric列表中将持有标志设为0继续遍历否则继续遍历。计算每次交易的利润并更新最大利润。遍历pric列表每次取相邻的两个元素作为买入和卖出价格计算利润并将利润添加到temp列表中。然后更新最大利润msum为temp列表中所有元素的和。如果最后还持有股票将最后一天的价格加入最大利润。计算最后一天与买入价格之间的差值加到最大利润msum上。返回最大利润msum。 代码思路 定义一个类Solution包含一个方法maxProfit接收一个参数prices表示股票价格的列表。 初始化变量hold为0表示持有股票的标志pric为空列表用于记录买入和卖出的价格temp为空列表用于记录每次交易的利润flag为0表示买入价格的索引msum为0表示最大利润。 hold 0 # 持有股票的标志0表示不持有1表示持有pric [] # 记录买入和卖出的价格temp [] # 记录每次交易的利润flag 0 # 记录买入价格的索引msum 0 # 记录最大利润如果价格列表长度小于等于2直接计算最大利润。如果价格列表为空返回0如果只有一个价格返回0如果第一个价格大于第二个价格返回0如果第一个价格小于第二个价格返回第二个价格减去第一个价格。 # 如果价格列表长度小于等于2直接计算最大利润if len(prices) 2:if not prices:return 0if len(prices) 1:return 0if prices[0] prices[1]:return 0if prices[0] prices[1]:return prices[1] - prices[0]遍历价格列表找到买入和卖出的价格。如果下一个价格大于当前价格且不持有股票将持有标志设为1记录买入价格的索引如果下一个价格小于当前价格且持有股票将买入和卖出的价格分别添加到pric列表中并将持有标志设为0。 # 遍历价格列表找到买入和卖出的价格for i in range(len(prices) - 1):if prices[i 1] prices[i] and hold ! 1:hold 1flag icontinueif prices[i 1] prices[i] and hold 1:pric.append(prices[flag])pric.append(prices[i])hold 0else:continue计算每次交易的利润将每次交易的利润添加到temp列表中并更新最大利润。 # 计算每次交易的利润并更新最大利润for i in range(0, len(pric), 2):temp.append(pric[i 1] - pric[i])msum sum(temp)如果最后还持有股票将最后一天的价格加入最大利润。 # 如果最后还持有股票将最后一天的价格加入最大利润if hold 1:msum msum prices[-1] - prices[flag]返回最大利润。 参考代码 这段代码是一个股票交易问题的解法通过遍历价格列表来找到买入和卖出的价格并计算每次交易的利润。 class Solution(object):def maxProfit(self, prices)::type prices: List[int]:rtype: inthold 0pric []temp []flag 0msum 0if len(prices) 2:if not prices:return 0if len(prices) 1:return 0if prices[0] prices[1]:return 0if prices[0] prices[1]:return prices[1] - prices[0]for i in range(len(prices) - 1):if prices[i 1] prices[i] and hold ! 1:hold 1flag icontinueif prices[i 1] prices[i] and hold 1:pric.append(prices[flag])pric.append(prices[i])hold 0else:continuefor i in range(0, len(pric), 2):temp.append(pric[i 1] - pric[i])msum sum(temp)if hold 1:msum msum prices[-1] - prices[flag]return msum编程通过键盘输入每一位运动员 题目 体操比赛成绩统计。多名运动员多个评委打分去掉一个最高分和去掉一个最低分对其余分数求平均分作为一个运动员成绩。 编程通过键盘输入每位运动员编号和每个评委的成绩求出运动员的最终成绩并将运动员编号和最终成绩保存在一个字典中形如{编号1:最终成绩1,学号2:最终成绩2…并将结果输出。 解题思路 首先我们需要获取评委人数和学生人数确保评委人数不少于3人学生人数不少于1人。然后我们需要初始化一个空的学生列表用于存储每个学生的相关信息。接下来我们需要遍历学生人数对于每个学生我们需要初始化一个包含评分列表、学号、最低分、最高分和平均分的字典。在每个学生字典中我们需要输入学生的学号并遍历评委人数获取每个评委的评分并将其添加到评分列表中。对评分列表进行排序然后去掉最低分和最高分计算剩余分数的平均分并将结果更新到学生字典中。将学生字典添加到学生列表中。使用字典推导式生成学生学号和最终成绩的字典。最后输出结果。 代码思路 首先通过输入获取评委人数和学生人数。 然后初始化一个空的学生列表。 # 输入评委人数不得少于3人 t int(input(请输入评委人数不得少于3人))# 输入学生人数不得少于1人 s int(input(请输入学生人数不得少于1人))# 初始化学生列表 stus []接着遍历学生人数对于每个学生初始化一个包含评分列表、学号、最低分、最高分和平均分的字典。 # 遍历学生人数 for i in range(s):# 初始化学生字典包含评分列表、学号、最低分、最高分和平均分stu {score:[]}在每个学生字典中通过输入获取学生的学号并遍历评委人数获取每个评委的评分并将其添加到评分列表中。 # 输入学生学号stu.update({sn:str(input(----\n请输入学生学号))})# 遍历评委人数for j in range(t):# 输入评委的评分stu[score].append(input(请输入评委str(j1)的评分))对评分列表进行排序然后获取最低分和最高分并计算平均分。 # 对评分列表进行排序stu[score].sort()# 获取最低分stu.update({min:stu[score].pop(0)})# 获取最高分stu.update({max:stu[score].pop()})# 计算平均分并更新字典stu.update({avg:sum(stu[score])/len(stu[score])})将学生字典添加到学生列表中。 # 将学生字典添加到学生列表中stus.append(stu)最后使用字典推导式生成学生学号和平均分的字典并输出结果。 # 使用字典推导式生成学生学号和平均分的字典 r {n[sn]:n[avg] for n in stus}参考代码 t int(input(请输入评委人数不得少于3人)) s int(input(请输入学生人数不得少于1人)) stus [] for i in range(s):stu {score:[]}stu.update({sn:str(input(----\n请输入学生学号))})for j in range(t):stu[score].append(input(请输入评委str(j1)的评分))stu[score].sort()stu.update({min:stu[score].pop(0)})stu.update({max:stu[score].pop()})stu.update({avg:eval(.join(stu[score]))/len(stu[score])})stus.append(stu) r {n[sn]:n[avg] for n in stus} print(r)
http://www.zqtcl.cn/news/781499/

相关文章:

  • 做网站标题居中代码对网页设计作品的意见
  • 网站建设实训考试普洱网站搭建
  • 你认为视频网站如何做推广asp网站木马扫描
  • 学校门户网站什么意思c2c网站建设要多少钱
  • asp怎么样做网站后台陕西咸阳做网站的公司
  • 手机网站模板wordpress编辑图像
  • 汉语国际网站建设靖江做网站的
  • 网站防止采集如何运行安装wordpress
  • 高端论坛网站建设忘记了wordpress登录密码忘记
  • 哈尔滨网站运营服务商wordpress 访问缓慢
  • 织梦网站上传及安装定制网站建设广告
  • 阳光创信-网站建设首选品牌wordpress rss插件
  • 钦州网站建设公司哪家好邢台制作
  • 网站广告赚钱吗中国小型加工机械网
  • 2015做网站前景东莞公司的网页怎么做的
  • 专业网站设计制作过程网站什么模板做的
  • 如何制作网页的软件网站推广与搜索引擎优化
  • 四川内江网站建设太原网站建设网格未来
  • 陕西 网站建设 陕ICP创建商务站点的主要工作
  • 做照明出口的网站深圳 网站制作
  • 门户网站建设 简报嘉兴设计公司有哪些
  • 资阳房地产网站建设学校网站建设板块分析
  • 山东华邦建设网站首页wordpress h5自适应
  • 合肥市建设工程劳务分包合同备案表在哪个网站下载国际国内热点新闻事件
  • 临猗做网站怎么做挣钱的网站
  • 做软装找图片的网站wordpress 表单留言
  • 360网站挂马检测wordpress路径爆出
  • 有什么网站学做标书的专门做短视频的公司
  • 网站怎么做图片动态图片短视频推广
  • 海口的网站建设网页设计欣赏可爱风格