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

网站建设的付款方式宁波超值关键词优化

网站建设的付款方式,宁波超值关键词优化,世界军事,wordpress去除www给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 方法一:使用额外数组 function rotate(nums: number[], k: number): void {const n nums.length;k k % n; // 处理 k 大于数组长度的情况const newNums new A…

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

方法一:使用额外数组

function rotate(nums: number[], k: number): void {const n = nums.length;k = k % n; // 处理 k 大于数组长度的情况const newNums = new Array(n).fill(0);for (let i = 0; i < n; i++) {newNums[(i + k) % n] = nums[i];}for (let i = 0; i < n; i++) {nums[i] = newNums[i];}
}// 示例调用
const nums1 = [1, 2, 3, 4, 5, 6, 7];
const k1 = 3;
rotate(nums1, k1);
console.log("轮转后的数组:", nums1);
复杂度分析
  • 时间复杂度:O(n),需要遍历数组两次。
  • 空间复杂度:O(n),创建了一个与原数组大小相同的新数组。

方法二:三次反转数组

先将整个数组反转,然后反转前 k 个元素,最后反转剩下的 n - k 个元素。

function reverse(nums: number[], start: number, end: number): void {while (start < end) {[nums[start], nums[end]] = [nums[end], nums[start]];start++;end--;}
}function rotate(nums: number[], k: number): void {const n = nums.length;k = k % n; // 处理 k 大于数组长度的情况reverse(nums, 0, n - 1);reverse(nums, 0, k - 1);reverse(nums, k, n - 1);
}// 示例调用
const nums2 = [1, 2, 3, 4, 5, 6, 7];
const k2 = 3;
rotate(nums2, k2);
console.log("轮转后的数组:", nums2);
复杂度分析
  • 时间复杂度:O(n),每个元素最多被反转两次。
  • 空间复杂度:O(1),只使用了常数级的额外空间。

方法三:环状替换

直接将元素放到它应该在的位置上,同时记录已经替换的元素数量,直到所有元素都被替换。

function rotate(nums: number[], k: number): void {const n = nums.length;k = k % n;let count = 0;for (let start = 0; count < n; start++) {let current = start;let prev = nums[start];do {const next = (current + k) % n;const temp = nums[next];nums[next] = prev;prev = temp;current = next;count++;} while (start!== current);}
}// 示例调用
const nums3 = [1, 2, 3, 4, 5, 6, 7];
const k3 = 3;
rotate(nums3, k3);
console.log("轮转后的数组:", nums3);
复杂度分析
  • 时间复杂度:O(n),每个元素只被移动一次。
  • 空间复杂度:O(1),只使用了常数级的额外空间。

综上所述,方法二和方法三在空间复杂度上更优,特别是方法二实现起来较为简洁,推荐使用。

http://www.hkea.cn/news/167424/

相关文章:

  • 有建网站的软件阿里云域名注册万网
  • 站长工具排名分析怎么创建公司网站
  • 网站建设标书四川seo哪里有
  • 接网站开发做多少钱建一个外贸独立站大约多少钱
  • wordpress表单录入seo报告
  • python做网站显示表格星巴克seo网络推广
  • 一个com的网站多少钱管理微信软件
  • 蒙阴网站建设软文代写网
  • 用python做一旅游网站南昌seo计费管理
  • 湖北省建设厅win10优化软件哪个好
  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo