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

html 模板网站免费创建网站平台

html 模板网站,免费创建网站平台,泡芙短视频app在哪里可以赚钱,python做电子商务网站这个算法采用了荷兰国旗问题(Dutch National Flag Problem)的解法思想,用三个指针将数组中的元素分为三个区域,并且对这些区域进行动态调整,达到排序的目的。 算法思想: 三个指针: low 指针表示…

在这里插入图片描述
这个算法采用了荷兰国旗问题(Dutch National Flag Problem)的解法思想,用三个指针将数组中的元素分为三个区域,并且对这些区域进行动态调整,达到排序的目的。

算法思想:

  1. 三个指针

    • low 指针表示当前0应该存放的区域的边界。
    • mid 指针用来遍历数组,每次检查当前位置的元素。
    • high 指针表示当前2应该存放的区域的边界。
  2. 算法步骤

    • 开始时,lowmid 都指向数组的开头,high 指向数组的末尾。
    • 遍历数组,当 mid 小于等于 high 时:
      • 如果 nums[mid] == 0,表示当前元素是红色(0),应该放到数组的前面,所以与 low 交换,lowmid 同时右移一位。
      • 如果 nums[mid] == 1,表示当前元素是白色(1),不需要移动,mid 右移一位。
      • 如果 nums[mid] == 2,表示当前元素是蓝色(2),应该放到数组的末尾,所以与 high 交换,并将 high 左移一位,而 mid 不动,等待交换后的元素检查。
  3. 循环结束条件

    • mid 指针超过 high 时,说明所有的元素都已经按照红、白、蓝的顺序排列完毕。

关键点:

  • in-place 排序:这个算法不需要额外的空间,直接在原数组上进行排序。
  • 时间复杂度:每个元素最多被遍历一次,因此时间复杂度是 O(n),其中 n 是数组的长度。
  • 空间复杂度:由于只使用了常数级别的额外空间,空间复杂度为 O(1)。

例子:

假设输入数组是 [2,0,2,1,1,0]

  • 初始化 low = 0, mid = 0, high = 5
  • 第一次遍历 nums[mid] = 2,交换 nums[mid]nums[high],数组变为 [0,0,2,1,1,2]high 左移。
  • 第二次遍历 nums[mid] = 0,交换 nums[mid]nums[low]lowmid 右移,数组不变。
  • 持续遍历并根据上述逻辑调整,最终数组为 [0,0,1,1,2,2],排序完成。

这个算法的核心是通过遍历数组,动态调整0、1、2的位置,保证红色、白色、蓝色按照顺序排列。

java 代码:

class Solution {public void sortColors(int[] nums) {int low = 0, mid = 0, high = nums.length - 1;while(mid <= high) {if(nums[mid] == 0) {swap(nums, low, mid);low++;mid++;} else if(nums[mid] == 1) {mid++;} else if(nums[mid] == 2) {swap(nums, mid, high);high--;}}}private void swap(int[] nums, int start, int end) {int temp = nums[start];nums[start] = nums[end];nums[end] = temp;}
}
http://www.ds6.com.cn/news/3246.html

相关文章:

  • 盐城网站建设哪家好快速建站哪个平台好
  • wordpress 禁止右键凌云seo博客
  • wordpress后台添加图片seo广告优化多少钱
  • 做网站需要哪些技术支持怎么做表格
  • 重庆做网站建设的公司百度seo怎么做
  • 网页制作模板中文seo的课谁讲的好
  • 网站空间一般多大情感营销
  • 网站备案个人信息泄露怎么seo快速排名
  • 网站建设入驻百度网盘怎么找资源
  • 哪个网站反盗版做的最好海南乐秀同城群软件下载
  • 哪个网站能帮助做试卷公司网站首页设计
  • wordpress实现mp4播放上海网站建设seo
  • 展示型网站与营销型网站著名的网络营销案例
  • 网站的优化是什么意思腾讯云域名注册官网
  • 网站开发的背景意义软件开发公司排名
  • 网站如何做淘宝推广阿亮seo技术
  • 知乎 上海做网站的公司百度关键词排行榜
  • 驾校网站模版在线h5免费制作网站
  • 淘宝上做网站靠谱吗北京搜索优化排名公司
  • 绿色网站设计seo挂机赚钱
  • 济南网站设计价格以下属于网站seo的内容是
  • wordpress 添加文章格式seo实战培训教程
  • 网站开发一般有几个服务器长沙seo平台
  • 怎么避免网站开发后门北京seo设计公司
  • 四川餐饮网站建设宝鸡seo外包公司
  • 做网站的手机软件搜索关键词网站
  • 网站文章页做百度小程序口碑营销案例ppt
  • 懒人网页编辑器手机版seo优化6个实用技巧
  • 营利性网站 备案百度网盘链接
  • 免费网站建设方案新闻小学生摘抄