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

企业网站建设解决方案window优化大师

企业网站建设解决方案,window优化大师,c语言网站开发,自建国外购物网站目录 一、消失的数字 思路一#xff08;暴力求解#xff09;代码实现#xff1a; 思路二#xff08;数列的思想#xff09;代码实现#xff1a; 思路三#xff08;异或的运用#xff09;代码实现#xff1a; 二、轮转数组 思路一#xff08;暴力求解#xff09…目录 一、消失的数字 思路一暴力求解代码实现 思路二数列的思想代码实现 思路三异或的运用代码实现 二、轮转数组 思路一暴力求解代码实现 思路二使用额外的空间以空间换时间代码实现 思路三三步逆置 一、消失的数字 思路如下图 思路一暴力求解代码实现 排序好后一一查找。 此处不建议使用该方法因为时间复杂度过大。 int missingNumber(int* nums, int numsSize) {int i 0;int j 0;int flag -1;//利用冒泡排序思想进行排序for (i 0; i numsSize - 1; i){for (j 0; j numsSize - 1 - i; j){if (nums[j] nums[j 1]){int tmp nums[j];nums[j] nums[j 1];nums[j 1] tmp;}}}//一个个查找for (i 0; i numsSize; i){if (i ! nums[i]){flag i;break;}}return i; }思路二数列的思想代码实现 此处代码就开始简化了时间复杂度为O(N)先用上等差数列的公式求前num个数字之和再一一减去nums数组中的元素最后得到的就是消失的数字 int missingNumber(int* nums, int numsSize) {int i0;int sum0;//前numsSize个数字相加等差数列求和sum (numsSize1)*numsSize/2;//减去nums数组中的所有值的和for(i0;inumsSize;i){sum-nums[i];}return sum; } 思路三异或的运用代码实现 利用了异或操作符 首先讲解一下这个操作符^   这个操作符是对二进制来用的相同为零相异为一 这个操作符有几个特点   1.n^0 n   2.n^n 0   3.满足交换律,如(a^b) ^ c a^b^c 如果想知道更多操作符的使用请移步到操作符笔记-CSDN博客 思路:用0先跟0~numsSize中数据异或再跟nums数组中所有元素异或最后的值就是所要找的值  效果如下 0^1^2^...中间有消失的数...^n ^1^2^...中间消失的数不在这里...^n 0^中间有消失的数 中间有消失的数 int missingNumber(int* nums, int numsSize) {int x 0;int i 0;//先跟0-numsSize中数据异或for (i 1; i numsSize; i){x x ^ i;}//跟nums数组中数据异或for (i 0; i numsSize; i){x x ^ nums[i];}return x;} 二、轮转数组 思路如下图所示 思路一暴力求解代码实现 void rotate(int* nums, int numsSize, int k) {//如果knumsSize,则kk%numsSize减少循环次数if (k numsSize){k % numsSize;}//轮转的次数for (int j 1; j k; s){//记录数组最后一个元素的值int tmp nums[numsSize-1];//每一次的轮转数组的变化for (int i numsSize - 1; i 0; i--){nums[i] nums[i - 1]; }//把记录下来的值赋给数组首元素nums[0] tmp;} } 思路二使用额外的空间以空间换时间代码实现 牺牲存储空间为代价直接在栈上开辟一块新的存储空间 void rotate(int* nums, int sz, int k) {//开辟与nums数组一样大小的空间int* tmp (int*)malloc(sizeof(int) * sz);int i 0;//如果ksize,则kk%size减少循环次数if (k sz){k % sz;}//先把后sz-k-1个元素拷贝到tmp中去for (i 0; i k; i){tmp[i] nums[sz - k i];}//再把前k-1个元素拷贝到tmp中去for (i 0; i sz-k; i){tmp[ki] nums[i];}//最后把tmp的内容拷贝到nums中去for (i 0; i sz; i){nums[i] tmp[i];} } 思路三三步逆置 如果knumsSize时取余数 因为逆置8次和逆置1次效果是相同的 void reverse(int* nums, int left, int right) {while (left right) {int tmp nums[left];nums[left] nums[right];nums[right] tmp;left;right--;} }void rotate(int* nums, int numsSize, int k) {if(knumsSize){k % numsSize; // 如果k大于等于数组长度先对k取余}reverse(nums, 0, numsSize - k - 1);//注意控制下标reverse(nums, numsSize - k, numsSize - 1);reverse(nums, 0, numsSize - 1); }
http://www.dnsts.com.cn/news/41496.html

相关文章:

  • 上海网站排名优化费用flash企业网站模板php
  • 小企业网站建设怎样可以快速在哪个网站找水利工地做
  • 做婚庆的网站有哪些织梦模板网站好优化吗
  • 网站定制化什么意思润滑油网站建设
  • 个人网站设计模版html做网站设计怎么提升
  • 网架公司安全员需要什么证书佛山seo教程
  • m开头的手机网站怎么做快乐麻花网站源码
  • 南京做机床的公司网站网站建设的比较合理的流程
  • 好的网站具备的条件德州做网站建设的公司哪家好
  • 郑州网站推广公司排名电子商务网站开发背景和意义
  • 怎么样注册一个网站wordpress全站使用cdn
  • 陕西咸阳做网站的公司有做学历在网站能查的到的
  • 如何在网站做宣传网站建设主要课程
  • 绵阳学校网站建设网站的pdf预览是怎么做的
  • 自己做采集电影网站俄罗斯军事最新消息
  • 企业网站是否可以做淘宝客自己做一网站_多做宣传.
  • 上海嘉定建设局网站简单的dw制作网页步骤
  • 做网站交接什么时需要交接wordpress 总页码数
  • 个人网站建设规划wordpress的主题是什么意思
  • html5微网站源码常用来做网站首业的是
  • 网站建设微盘下载网上开店策划书
  • 网站制作与建立如何进行网站推广
  • 赣州网站推广福州营销型网站建设价格
  • 建设人才证书查询网站重庆建筑设计公司排名
  • 烟台网站设计公司如何做游戏渠道网站
  • 如何建立学校网站科技类网站设计特点
  • 企业备案网站内容制作手机网站什么软件
  • 竹制品网站怎么做成都营销型网站建设公司
  • 找回老网站报考网页
  • 南丰网站建设专业建设验收网站