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

建设网站上传代码哪里能买精准客户电话

建设网站上传代码,哪里能买精准客户电话,网站开发与管理课程设计心得,重庆网站建设 九度互联题目描述: 给你一个下标从 0 开始、长度为 n 的整数排列 nums 。 如果排列的第一个数字等于 1 且最后一个数字等于 n ,则称其为 半有序排列 。你可以执行多次下述操作,直到将 nums 变成一个 半有序排列 : 选择 nums 中相邻的两…

题目描述:

给你一个下标从 0 开始、长度为 n 的整数排列 nums 。

如果排列的第一个数字等于 1 且最后一个数字等于 n ,则称其为 半有序排列 。你可以执行多次下述操作,直到将 nums 变成一个 半有序排列 :

  • 选择 nums 中相邻的两个元素,然后交换它们。

返回使 nums 变成 半有序排列 所需的最小操作次数。

排列 是一个长度为 n 的整数序列,其中包含从 1 到 n 的每个数字恰好一次。

代码思路:

  1. 获取列表长度
    • 首先,通过 n = len(nums) 获取列表 nums 的长度。
  2. 计算数字 n(最大值)的位置
    • 使用 nums.index(n) 找到数字 n(即列表中的最大值)的索引。
    • 计算 count1 = n - 1 - nums.index(n),这个值表示数字 n 需要向右移动多少个位置才能到达列表的末尾(因为所有较大的数都应该位于末尾)。这里减 1 是因为索引是从 0 开始的,而我们要计算的是位置差。
  3. 移除数字 n
    • 使用 nums.remove(n) 从列表中移除数字 n,因为我们接下来要计算数字 1 的位置,而 n 已经不在考虑范围内了。
  4. 计算数字 1 的位置
    • 使用 nums.index(1) 找到数字 1 的索引(在移除 n 之后)。
    • 这个索引值直接作为 count2,表示数字 1 需要向左移动多少个位置才能到达列表的开头(因为所有较小的数都应该位于开头)。
  5. 返回结果
    • 返回 count1 + count2,即数字 n 移动到末尾和数字 1 移动到开头所需的最小交换次数之和。

注意事项

  • 这个方法假设输入列表 nums 包含了从 1 到 n 的所有整数,且每个整数只出现一次。
  • 方法通过直接计算数字 n 和 1 需要移动的位置来确定最小交换次数,而不是通过实际的交换操作来模拟。
  • 移除数字 n 是为了简化计算数字 1 位置的过程,因为一旦 n 到达了正确的位置(即列表末尾),它就不会再影响数字 1 的位置计算。

代码实现:

class Solution:def semiOrderedPermutation(self, nums) :n = len(nums)count1 = n - 1 -(nums.index(n))nums.remove(n)count2 = nums.index(1)return count1 + count2

 

http://www.dtcms.com/wzjs/307875.html

相关文章:

  • 企业网站能提供哪些服务百度如何发布作品
  • 西安电商平台网站建设如何注册一个自己的网站
  • 广州网站建设公司乐云seo598重庆店铺整站优化
  • 状元村建设官方网站长沙优化网站
  • 网站制作公司官网首页宣传推广策略
  • 济南做网站知识优化关键词排名软件
  • 响应式网站居中石家庄疫情防控最新政策
  • 郑州做网站企业汉狮北京网络营销公司哪家好
  • java做网站好学么推广公司哪家好
  • 怎样做千年私服网站软件开发公司网站
  • 网站的盈利方法重庆森林经典台词
  • 滨州做网站公司青岛关键词排名哪家好
  • 网站建设 cms百度免费发布信息网站
  • 成都有哪些做公司网站的公司seo哪家公司好
  • 拉萨北京网站建设宣传推广的十种方式
  • 黔南网站建设多少钱百度推广外包哪家不错
  • 合肥网站建设公司 推荐武汉刚刚发生的新闻
  • 南昌微信网站建设seo最新
  • 苹果制作app软件网站搜索排名优化
  • 网站源码和模板seo技术培训课程
  • 创业做app哪个网站好东莞优化seo
  • 网站开发的特点合肥seo
  • 网站换域名做301会有影响识别关键词软件
  • 网站搜索引擎优化怎么做上海城市分站seo
  • 秦皇岛网站建设报价免费网站推广软件
  • wordpress社会化登录插件郑州靠谱seo整站优化
  • 杭州做网站公司seo技巧优化
  • 怎么刷网站点击量零基础学电脑培训班
  • 西安建筑科技大学就业信息网关键词优化排名用哪个软件比较好
  • 邯郸免费发布信息平台网站优化推广培训