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

网站备案信息如何注销上海网站建设规范

网站备案信息如何注销,上海网站建设规范,杭州本地网站有哪些,正确的网址格式题目 两个有序数组长度为N#xff0c;找到第N、N1大的数 思路1#xff1a;双指针#xff0c;O(N)复杂度 简述思路#xff1a; 如果当前A指针指向的数组A的内容小于B指针指向的数组B的内容#xff0c;那么A指针往右移动#xff0c;然后nums(当前已经遍历过的数字个数)也…题目 两个有序数组长度为N找到第N、N1大的数 思路1双指针O(N)复杂度 简述思路 如果当前A指针指向的数组A的内容小于B指针指向的数组B的内容那么A指针往右移动然后nums(当前已经遍历过的数字个数)也加一。 如果此时已经遍历过的数字个数等于N那么九江移动之前的A指针指向的A数组的内容送入result。 其他情况以相反的逻辑进行。 //双指针法求解 vectorint GetMid_On(vectorint A, vectorint B, int N) {int A_index 0;int B_index 0;int nums 0;vectorint result;while (A_index N B_index N){if (A[A_index] B[B_index]){A_index;nums;if (nums N){result.push_back(A[A_index - 1]);}if (nums N 1){result.push_back(A[A_index - 1]);return result;}}else {B_index;nums;if (nums N){result.push_back(B[B_index - 1]);}if (nums N 1){result.push_back(B[B_index - 1]);return result;}}//如果两个元素相同}return result; }int main() {vectorint A { 2,4,5,6,9 };vectorint B { 1,3,7,8,10 };vectorint result GetMid_On(A, B, 5);cout result[0] endl;cout result[1] endl;cout 结束 endl;return 0; }思路2迭代法二分 简述思路 先初始化ab数组的start,end,mid; 然后比较各自mid指向的值的大小。 如果A[a_mid] B[b_mid]说明第N大的值在A数组a_mid的左边在B数组b_mid的右边所以对a_end以及b_start做出更新: 长度为奇数的时候正好 a_end a_mid; b_start b_mid; 当然还要考虑到长度为偶数的情况 a_end a_mid; b_start b_mid 1; 这里只是对start进行修改对于end值不需要修改。可以举例 A {2,4,6,8}; B {1,3,5,7}; a_start 0,a_end 3 b_start 0,b_end 3 a_mid b_mid 3/2 1; A[a_mid] B[b_mid] ,并且长度为偶数所以 a_end a_mid 1 b_start b_mid 1 2 所以A被分割为{24} B被分割为{57} a_start 0,a_end 1 b_start 2,b_end 3 a_mid 1/2 0; b_mid (23)/2 2; A[a_mid] B[b_mid] ,并且长度为偶数所以 a_start a_mid 1 b_end b_mid 2 此时达成a_start a_end || b_start b_end条件所以可以判断两个start的值的大小取较小值可得到第N大的数 //迭代二分法去解 vectorint GetMid(vectorint A, vectorint B, int N) {vectorint result;int a_start 0, a_end N - 1;int b_start 0, b_end N - 1;//初始化中间位置int a_mid (a_start a_end) / 2;int b_mid (b_start b_end) / 2;//循环结束条件当数组起始点与结束点重合的时候说明存在第N大的数while (a_start ! a_end || b_start ! b_end){//更新中间坐标a_mid (a_start a_end) / 2;b_mid (b_start b_end) / 2;//如果此时的A中位数与B的中位数相同说明两个都是第N大的数if (A[a_mid] B[b_mid]){result.push_back(A[a_mid]);result.push_back(A[a_mid] B[b_mid] ? B[b_mid]: A[a_mid]);return result;}//如果A的中位数B的中位数说明此时第N大的数在A的左边B的右边所以需要更新a_end以及b_startelse if (A[a_mid] B[b_mid]){//如果当前a_start-a_end之间的长度为偶数那么中间值就是midif ((a_start a_end) % 2 0){a_end a_mid;b_start b_mid;}else{a_end a_mid;b_start b_mid 1;}}//如果A的中位数B的中位数说明此时第N大的数在A的右边B的左边所以需要更新a_start以及b_endelse{//如果当前a_start-a_end之间的长度为奇数那么中间值就是midif ((a_start a_end) % 2 0){a_start a_mid;b_end b_mid;}//如果当前a_start-a_end之间的长度为偶数那么中间值就是mid1else{a_start a_mid 1;b_end b_mid;}}}//判断两个start的值的大小if (A[a_start] B[b_start]){result.push_back(B[b_start]);if (b_start 1 N){if (A[a_start] B[b_start 1])result.push_back(B[b_start 1]);elseresult.push_back(A[a_start]);}elseresult.push_back(A[a_start]);}else{result.push_back(A[a_start]);if (a_start 1 N){if (A[a_start 1] B[b_start])result.push_back(A[a_start 1]);elseresult.push_back(B[b_start]);}elseresult.push_back(B[b_start]);}return result; }int main() {vectorint A { 2,4,5,6,9 };vectorint B { 2,4,5,6,9 };//vectorint B { 1,3,7,8,10 };vectorint result GetMid(A, B, 5);for(int i 0;i result.size();i)cout result[i] endl;cout 结束 endl;return 0; }思路3递归法二分 写完迭代法之后递归将a_start,a_end,b_start,b_end作为递归函数的参数放入。递归函数的一开始写终止条件参考迭代法。 终止条件后面写根据中间值的大小对a_start,a_end,b_start,b_end进行不同赋值达到分割数组的目的。 //递归二分法求解 vectorint GetMid(vectorint A, vectorint B, int a_start,int a_end,int b_start,int b_end,int N) {vectorint result;//初始化中间位置int a_mid (a_start a_end) / 2;int b_mid (b_start b_end) / 2;//如果有答案了if (A[a_mid] B[b_mid]){result.push_back(A[a_mid]);result.push_back(A[a_mid] B[b_mid] ? B[b_mid] : A[a_mid]);return result;}if (a_start a_end || b_start b_end){//判断两个start的值的大小if (A[a_start] B[b_start]){result.push_back(B[b_start]);if (b_start 1 N){if (A[a_start] B[b_start 1])result.push_back(B[b_start 1]);elseresult.push_back(A[a_start]);}elseresult.push_back(A[a_start]);}else{result.push_back(A[a_start]);if (a_start 1 N){if (A[a_start 1] B[b_start])result.push_back(A[a_start 1]);elseresult.push_back(B[b_start]);}elseresult.push_back(B[b_start]);}return result;}//递归更新边界值if (A[a_mid] B[b_mid]){//如果当前a_start-a_end之间的长度为偶数那么中间值就是midif ((a_start a_end) % 2 0){return GetMid(A, B, a_start, a_mid, b_mid, b_end, N);}else{return GetMid(A, B, a_start, a_mid, b_mid 1, b_end, N);}}//如果A的中位数B的中位数说明此时第N大的数在A的右边B的左边所以需要更新a_start以及b_endelse{//如果当前a_start-a_end之间的长度为偶数那么中间值就是midif ((a_start a_end) % 2 0){return GetMid(A, B, a_mid, a_end, b_start, b_mid, N);}else{return GetMid(A, B, a_mid 1, a_end, b_start, b_mid, N);}} }int main() {vectorint A { 2,4,5,6,9 };//vectorint B { 2,4,5,6,9 };int N A.size();vectorint B { 1,3,7,8,10 };vectorint result GetMid(A, B, 0, N-1,0,N-1,N);for(int i 0;i result.size();i)cout result[i] endl;cout 结束 endl;return 0; }
http://www.huolong8.cn/news/359852/

相关文章:

  • 如果域名网站用来做违法云南网站建设的步骤
  • 自己有域名怎么做免费网站微网站介绍
  • 网站下载软件河南卓越建设工程有限公司网站
  • 农产品网站的品牌建设做网站的服务器很卡怎么办
  • 做公司网站需要多长时间宫免费网站
  • 云服务器建站公司注册资本登记管理规定
  • 云抢购网官方网站苏州诗华洛网站建设
  • 有没学做早餐的网站采购管理
  • 柳市做网站制作聊城宏远网站建设优化
  • 怎样建立网站的快捷方式福州网站运营
  • 做网站 阿里云网站flash模板
  • 成都网站建设四川推来客网络清华大学网站建设方案
  • 广州番禺服装网站建设c2c平台的盈利模式有哪些
  • 网站开发语言作用棋牌游戏开发多少钱
  • 怎么做影视网站网站建设免备案免费空间
  • php是用来做网站的吗网站打开是404
  • 页面好看的蛋糕网站品牌建设经验做法
  • 网站开发感受网站建设困难
  • 微官网和移动网站区别汕头网站外包
  • 广告商网站建设泰州seo网站推广优化
  • 网站做中转好看简洁的logo设计
  • 网站性能容量的收集与分析怎么做海口网站开发公司
  • 怎么样做免费网站杭州网站建设页面
  • 国内比较大的源码网站沈阳商城网站开发
  • 网站怎么做浏览量才会多张掖哪家公司做网站
  • 设计网站酷营销型网站建设
  • 利用python做网站重庆旅游网站建设规划
  • 建设公司网站的内容浏览器app下载安装
  • 荆州公司网站建设微信投票小程序怎么做
  • 窗帘网站建设策划书道客巴巴php网站上传漏洞