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

网站备案信息被注销运营计划方案怎么写

网站备案信息被注销,运营计划方案怎么写,wordpress设计笔记,锦州做网站公司哪家好题目 文件组合 待传输文件被切分成多个部分#xff0c;按照原排列顺序#xff0c;每部分文件编号均为一个 正整数#xff08;至少含有两个文件#xff09;。传输要求为#xff1a;连续文件编号总和为接收方指定数字 target 的所有文件。请返回所有符合该要求的文件传输组…题目 文件组合 待传输文件被切分成多个部分按照原排列顺序每部分文件编号均为一个 正整数至少含有两个文件。传输要求为连续文件编号总和为接收方指定数字 target 的所有文件。请返回所有符合该要求的文件传输组合列表。 注意返回时需遵循以下规则 每种组合按照文件编号 升序 排列 不同组合按照第一个文件编号 升序 排列。 示例 1 输入target 12 输出[[3, 4, 5]] 解释在上述示例中存在一个连续正整数序列的和为 12为 [3, 4, 5]。 示例 2 输入target 18 输出[[3,4,5,6],[5,6,7]] 解释在上述示例中存在两个连续正整数序列的和分别为18分别为 [3, 4, 5, 6] 和 [5, 6, 7]。 提示 1 target 10^5 解法1分类 这种做法是笔者最朴素的想法如果遍历小于 target 的每一个数逐个相加尝试该数是否能组成一个符合条件的文件序列那时间复杂度太高了其实这种就是滑动窗口的思想复杂度只有O(N)。于是我想能否在遍历到这个数的同时直接根据这个数与 target 之间的某种关系判断其能否形成合适的序列于是在观察到文件序列其实是等差数列后我决定依据等差数列的特点对其进行分类使用 i 进行遍历。文件序列如果有奇数个元素则可以找到等差中项target 能整除 i 且 n target / i 必须为奇数文件序列如果有偶数个元素则target 能整除 i i1 且 n 和 target 的奇偶必须相同!((ntarget)%2)因为n 表示有n对i i1而i i1必为奇数所以当n为偶数的时候n对i i1的和为偶数n为奇数的时候n对i i1的和为奇数。所以 n 和 target 的奇偶必须相同由于题目要求不同组合按照第一个文件编号 升序 排列而当我遍历 i 时无法确定由 i 作为靠中间的元素的这个序列的头部是多少所以我使用了 map 存储利用了 map 会自动排序 key 的特点结构map第一个文件编号文件编号序列的 vector class Solution { public:vectorvectorint fileCombination(int target) {vectorvectorint all;mapint, vectorint forOrder;for(int i1; i(target1)/2; i){if(!(target%i)){//target 能整除 i则可能的组合有奇数个元素int n target / i;if(n%2 in/2){//n 为组合中元素的个数必须为奇数vectorint group;for(int ji-n/2; jin/2; j){group.push_back(j);}forOrder[i-n/2] group;}}if(!(target%(i i1))){//target 能整除 i i1可能的组合必为偶数个元素int n target/(i i1);if(!((ntarget)%2) i-(n-1)0){//n 和 target 的奇偶必须相同vectorint group;for(int ji-(n-1); j(i1)(n-1); j){group.push_back(j);}forOrder[i-(n-1)] group;}}}// 将 forOrder 中的元素按顺序存入 all 中for (const auto pair : forOrder) {all.push_back(pair.second);}return all;} };解法2滑动窗口双指针 这种想法也很简单从 i1 开始计算其后连续的序列的和如果和小于 target那么就在和的基础上往后再加一个数字如果和大于 target 了则表明此时的 i 作为开始元素找不到合适的序列此时 i 往后移动并记得让和减去上一个 i这种想法虽然是遍历求和并比较和与目标值但是时间复杂度并不高这是因为每次遍历和的计算都是在上一轮和的计算结果上进行的由于是从 i1 开始遍历逐渐求和比较故不存在有的序列会遍历不到的问题 //滑动窗口vectorvectorint fileCombination(int target) {vectorvectorint all;int i1, j2, sumij;while(ij){if(sum target){vectorint group;for(int ki; kj; k){group.push_back(k);}all.push_back(group);}if(sum target){j;sum j;// coutj:jsumsumendl;} else{sum - i;i;}}return all;}解法3等比数列求和公式求解 知道序列和 target知道首项 i那么可以利用等差数列求和公式 二次方程求根公式求出末项 j遍历 i 找到所有符合的末项 j 即可。由于是使用公式计算时间复杂度并不高当 j 为整数时符合条件此处的判断方法为if(j (int)j)c 中有int i当 ii 结果超过int时需要写成(long)ii表达式 ii 的结果会首先根据表达式中操作数的类型来决定。如果 i 是整型int那么表达式 ii 也会被视为整型运算。 //等差求和公式做法vectorvectorint fileCombination(int target) {vectorvectorint all;for(int i1; i(target1)/2; i){double j (-1sqrt(14*(2*target(long)i*i-i)))/2.0;if(j (int)j){vectorint group;for(int ki; k(int)j; k){group.push_back(k);}all.push_back(group);}}return all;}
http://www.dnsts.com.cn/news/170308.html

相关文章:

  • 网站新闻关键词网站建设的分阶段步骤
  • 为什么要建设商城网站网络媒体广告代理
  • 如何配置 网站二级域名热门手机网站
  • 做好公司网站建设银行企业理念
  • 企业网站建设需要考虑内容免费咨询聊天
  • 东莞网站SEO优化推广淘客网站难做吗
  • 新昌品牌网站建设三亚网站外包
  • 哈尔滨网站建设设计wordpress Honey 主题
  • 精通网站建设工资多少钱济南建设管理局官网
  • 网站做直播吗安全狗网站白名单指什么
  • 上海嘉定区网站建设公司谷歌入口
  • 一个页面对网站如何建设网络工程专业毕业生设计
  • 网站留言短信提醒深圳公司网站制作企业
  • 原创文章的网站被降权或无排名的原因有哪些商标logo设计免费生成
  • 广西建设工会网站昆明婚恋网站价格
  • 与小学生一起做网站做墙绘一般在哪个网站
  • 西昌网站制作牡丹江哪个网络好
  • 网站开发和美工的区别中国住房和城乡建设局官网
  • 东莞平台网站建设设计公司黑果云免费虚拟主机
  • dedecms网站模板免费下载网站的开发公司倒闭对网站使用
  • 网站空间搭建2014年网站开发语言
  • 做酒的网站有哪些织梦dedecms5.6 网站搬家详细教程
  • 网站建设公司itcask长沙制作网站的公司
  • 永嘉移动网站建设公司哪个网站做外链视频好
  • 做网站没有创意仿照一个国外的网站要多少钱
  • 不用模板 网站免费地方网站
  • 明星个人网站建设方案私人兼职做网站开发
  • 护肤品网站建设分析商务网站建设怎样收费
  • 做网站有什么必要建设工程网站教程
  • 个人网站怎么建立步骤企业网站收录