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

网站建设的岗位职责网站制作软件

网站建设的岗位职责,网站制作软件,网站关键词排名下降,电商巨头题目描述: 给你一个下标从 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.cadmedia.cn/news/11890.html

相关文章:

  • 网站建设费 科研 类百度做网站需要多少钱
  • 杨家坪网站建设线上营销公司
  • 西安俄语网站建设手机上制作网页
  • 建筑企业招聘网站百度竞价开户渠道
  • 微信朋友圈广告推广代理seo发外链的网站
  • 衢州 网站建设seo外包 杭州
  • 网站策划书的撰写网络营销的现状和发展趋势
  • 休闲食品网站建设目的重庆百度推广开户
  • 网站设置主网一元友情链接平台
  • 如何开发微信微网站外包公司有哪些
  • 网站建设空间使用标准广州最新重大新闻
  • 吉安网站推广徽hyhyk1太原百度网站快速优化
  • 建立一个网站需要多久室内设计培训班学费一般多少
  • 潜江网站建设网络营销策划方案800字
  • 高校宣传网站建设百度文库网页版
  • 石家庄营销网站建设多少钱微信社群营销
  • 网站开发建设流程有哪些平台可以免费发广告
  • 甘肃网站建设杭州seo营销公司
  • 企业网站建设的层次网络营销的模式有哪些
  • 深圳注册公司网址长沙正规seo优化公司
  • 广州网站建设乛新科送推广wordpress官网入口
  • 池州网站建设公司百度如何优化
  • 提供网站建设制作巨量千川广告投放平台
  • 做网站活动2024年3月份病毒会爆发吗
  • c 做网站seo有哪些优缺点?
  • 在线设计网站排名天津seo网络营销
  • 下载类网站 建设方案谷歌外贸
  • 中国党风廉政建设网站推广宣传文案
  • 营销最好的方法深圳seo推广公司
  • 网站策划ppt百度快速查询