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

建站平台免代码wordpress主机搭建

建站平台免代码,wordpress主机搭建,公司找网站做宣传做账,广西住房城乡建设厅网站首页目录 1、题目介绍 2、解题思路 2.1、冒泡排序暴力破解 2.2、快速排序的子过程partition 2.2.1、详细过程描述 2.2.2、代码描述 1、题目介绍 原题链接#xff1a;75. 颜色分类 - 力扣#xff08;LeetCode#xff09; 示例 1#xff1a; 输入#xff1a;nums [2,0,2…  目录 1、题目介绍 2、解题思路 2.1、冒泡排序暴力破解 2.2、快速排序的子过程partition 2.2.1、详细过程描述 2.2.2、代码描述 1、题目介绍 原题链接75. 颜色分类 - 力扣LeetCode 示例 1 输入nums [2,0,2,1,1,0] 输出[0,0,1,1,2,2] 示例 2 输入nums [2,0,1] 输出[0,1,2] 提示 n nums.length1 n 300nums[i] 为 0、1 或 2 2、解题思路 根据题目的意思简单来说就是将数组里的数据按照0、1、2的顺序排列。 如果只是要求排序其实投机取巧的方式很多比如直接使用冒泡排序也能完成此题。 2.1、冒泡排序暴力破解 void sortColors(int* nums, int sz) {int i 0;int j 0;for (i 0; i sz - 1; i){for (j 0; j sz - 1 - i; j){if (nums[j] nums[j 1]){int tmp nums[j];nums[j] nums[j 1];nums[j 1] tmp;}}} } 冒泡排序时间复杂度为O(n^2)空间复杂度为O(1 2.2、快速排序的子过程partition 但是根据题目的难度标识为中等很明显这道题不是在考察冒泡排序的。  该题的难点在于如何原地遍历的情况下使得时间复杂度为O(n)空间复杂度为O(1)。即仅使用常数空间的一趟扫描算法。 而这里就用到了快速排序的子过程partitionpartition能够通过一次遍历将所有元素按照标志数进行划分小于放标志数左边大于放标志数右边。 首先这里有个数组规定小num的值放在左侧大于num的值放在右侧而等于num的值放在中间下面进行partition过程讲解。 首先蓝色方框是小于num的区域橙色方框是大于num的区域i从0开始循环遍历。 规则 当arr[ i ]小于num时arr[ i ]与小于区域的下一个元素交换位置然后小于区域向右移动一位i。当arr[ i ]等于num时i。当arr[ i ]大于num时arr[ i ]与大于区域的上一个元素交换位置然后大于区域向左移动一位此时i不自增。 2.2.1、详细过程描述 首先arr[ i ] 等于3小于5 【执行规则1】3与小于区域的下一位元素交换位置而此时小于区域的下一个元素就是3因此交换其实已经完成了。然后小于区域向右移动一位i。 此时arr[ i ] 等于5 【执行规则2】直接 i。 此时arr[ i ] 等于6大于5 【执行规则3】3与大于区域的上一位元素交换位置于是6和8交换位置。然后大于区域向左移动一位。 此时arr[ i ] 等于8大于5 【执行规则3】8与大于区域的上一位元素交换位置于是8和第二个5交换位置。然后大于区域向左移动一位。 此时arr[ i ] 等于5 【执行规则2】直接 i。 此时arr[ i ] 等于7大于5 【执行规则3】7与大于区域的上一位元素交换位置于是7和第二个3交换位置。然后大于区域向左移动一位。 此时arr[ i ] 等于3小于5 【执行规则1】3与小于区域的下一位元素交换位置于是第一个5和第二个3交换位置。然后小于区域向右移动一位i。 此时arr[ i ] 等于4小于5 【执行规则1】4与小于区域的下一位元素交换位置于是第一个5和4交换位置。然后小于区域向右移动一位i。 此时i遇到了大于区域了就停止执行此时数组中的值就变成了左边小右边大中间等于。 2.2.2、代码描述 按照快速排序的子过程partition的方法改造代码 使标志数为1然后将小于1的放左边大于1的放右边既完成排序。 void sortColors(int* nums, int numsSize){int signal 1; //标志数int i 0;int left -1; //left为下标是小于区域的右边界刚开始还未进入数组因此为-1int right numsSize; //right为下标是大于区域的左边界刚开始还未进入数组因此为numsSizewhile(iright) //当i遇上大于区域时停止循环此时就完成了排序{if(nums[i] signal) //当nums[i]小于标志数{int tmp nums[left1]; //交换小于区域的下一个元素nums[left1] nums[i];nums[i] tmp;left;i;}else if(nums[i] signal) //当nums[i]大于标志数{int tmp nums[right-1]; //交换大于区域的上一个元素nums[right-1] nums[i];nums[i] tmp;right--;}else{i; //等于时直接i}} } 快速排序的子过程partition时间复杂度为O(n^2)空间复杂度为O(1  如果觉得作者写的不错求给博主一个大大的点赞支持一下你们的支持是我更新的最大动力 如果觉得作者写的不错求给博主一个大大的点赞支持一下你们的支持是我更新的最大动力 如果觉得作者写的不错求给博主一个大大的点赞支持一下你们的支持是我更新的最大动力
http://www.yutouwan.com/news/369813/

相关文章:

  • 安徽网新科技网站建设介绍深圳深圳网站建设公司
  • 临沂 网站优化wordpress 手机 插件
  • 网站视频西宁那有做网站的
  • 搭建免费网站建筑企业网站设计
  • 电影网站制作模版网红营销的优势与劣势
  • 重庆建网站有哪些什么网站做视频赚钱
  • 台州网站建设慕枫php网站开发是什么
  • django怎么做网站网络营销对企业的作用
  • 网站建设教学视频做滤芯的网站
  • 西宁网站建设制作公司广告艺术设计专业介绍
  • 如何找回网站后台密码免费网站去哪找
  • 个人网站建设方案书wordpress主题制作实例
  • 宿州网站建设优化如何免费注册网址
  • 做网站的详细教程自贡建设局网站
  • 怎么制作网站导航页网页设计报告结束语
  • 在线做网站教程淮南市网站建设
  • c 博客网站开发教程阿森纳英超积分
  • 河北省唐山市建设规划局的网站一个虚拟主机可以放几个网站
  • 苏州高端网站定制263邮箱登录登录入口
  • 网站系统目前运行稳定湖北企业商城网站建设
  • 域名购买哪个网站好石家庄哪里可以做网站
  • 全景网站开发多少钱怎么创建自己的公司网站
  • 中国制造网 做网站费用远程管理wordpress站群
  • wordperss网站做负载均衡用discuz做的网站
  • 拖拽式建站源码企业网站的制作及维护
  • 天津滨海新区小程序网站建设个体工商户年报入口官网
  • wap网站程序公司网站设计模板
  • 有什么网站可以帮人做模具吗内网网站建设软件
  • 建设公司内网网站的意义能建网站的app
  • 舟山网站建设seo优化seo哪家好