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

网站项目需求分析怎么查网站建设时间

网站项目需求分析,怎么查网站建设时间,电子商务网站建设 实验分析,广东中山市做网站文章目录 1.题目2.题目解答1.四数之和题目及题目解析算法学习代码提交 2.长度最小的子数组题目及题目解析滑动窗口的算法学习方法一#xff1a;单向双指针(暴力解法)方法二#xff1a;同向双指针(滑动窗口) 代码提交 1.题目 18. 四数之和 - 力扣#xff08;LeetCode#x… 文章目录 1.题目2.题目解答1.四数之和题目及题目解析算法学习代码提交 2.长度最小的子数组题目及题目解析滑动窗口的算法学习方法一单向双指针(暴力解法)方法二同向双指针(滑动窗口) 代码提交 1.题目 18. 四数之和 - 力扣LeetCode209. 长度最小的子数组 - 力扣LeetCode 2.题目解答 1.四数之和 题目及题目解析 算法学习 去重 外层固定的数要跳过相同的数内层固定的数也要跳过相同的数left和right也要跳过相同的数 这部分的代码如下 int i 0; while (i nums.size() - 1) {int j i 1;while (j nums.size() - 1){int left j 1;int right nums.size() - 1;long long int tmp (long long int)target - nums[i] - nums[j];while (left right){if (nums[left] nums[right] tmp){right--;}else if (nums[left] nums[right] tmp){left;}else{v.push_back(nums[i]);v.push_back(nums[left]);v.push_back(nums[right]);v.push_back(nums[j]);vv.push_back(v);v.clear();left;right--;while (left right nums[left] nums[left - 1]){left;}while (left right nums[right] nums[right 1]){right--;}}}j;while (j nums.size() - 1 nums[j] nums[j - 1]){j;}}i;while (i nums.size() - 1 nums[i] nums[i - 1]){i;} }代码提交 class Solution { public:vectorvectorint fourSum(vectorint nums, int target) {vectorvectorint vv;vectorint v;sort(nums.begin(),nums.end());int i 0;while(inums.size()-1){int j i1;while(jnums.size()-1){int left j1;int rightnums.size()-1;long long int tmp (long long int)target-nums[i]-nums[j];while(leftright){if(nums[left]nums[right]tmp){right--;}else if(nums[left]nums[right]tmp){left;}else{v.push_back(nums[i]);v.push_back(nums[left]);v.push_back(nums[right]);v.push_back(nums[j]);vv.push_back(v);v.clear();left;right--;while(leftrightnums[left]nums[left-1]){left;}while(leftrightnums[right]nums[right1]){right--;}}}j;while(jnums.size()-1nums[j]nums[j-1]){j;}}i;while(inums.size()-1nums[i]nums[i-1]){i;}}return vv;} };2.长度最小的子数组 题目及题目解析 滑动窗口的算法学习 方法一单向双指针(暴力解法) 直接定义两个指针从前向后一次遍历,将所有的结果列举出来,直接进行求解 解法如下: class Solution { public:int minSubArrayLen(int target, vectorint nums) {int ret INT_MAX;int n nums.size();// 枚举出所有满⾜和⼤于等于 target 的⼦数组[start, end]// 由于是取到最⼩因此枚举的过程中要尽量让数组的⻓度最⼩// 枚举开始位置for (int start 0; start n; start) {int sum 0; // 记录从这个位置开始的连续数组的和// 寻找结束位置for (int end start; end n; end) {sum nums[end]; // 将当前位置加上if (sum target) // 当这段区间内的和满⾜条件时{// 更新结果start 开头的最短区间已经找到ret min(ret, end - start 1);break;}}}// 返回最后结果return ret INT_MAX ? 0 : ret;} };方法二同向双指针(滑动窗口) 我们在使用暴力解法的时候发现 right指针没有必要每次都进行回退 可以让其一直保持在原有位置不变: 这也就是滑动窗口 当暴力解法两个指针都不回退且要对一部分的区间进行管理,就可以使用双指针解法 解法步骤如下: 初始化部分: 初始化窗口 循环部分 进窗口 判断是否出窗口(同时要记录值) 进窗口 判断是否出窗口(同时要记录值) 重复这两个步骤就可以得出我们想要的结果了 写成代码如下 int left 0, right 0; int sum 0; int len INT_MAX; for (;right nums.size();right) {sum nums[right];while (sum target){len min(len, right - left 1);sum - nums[left];} }代码提交 class Solution { public:int minSubArrayLen(int target, vectorint nums) {int left 0,right 0;int sum 0;int len INT_MAX;for(;rightnums.size();right){sum nums[right];while(sumtarget){len min(len,right-left1);sum - nums[left];}}return lenINT_MAX?0:len;} };
http://www.hkea.cn/news/14318734/

相关文章:

  • 人工智能公司排名深圳seo网站建设
  • wordpress用户前端化seo如何优化网站推广
  • 网站服务器环境不支持mysql数据库上海外贸企业排名
  • 东莞建网站公司案例课程设计超市会员网站建设
  • 佛山网站策划公司国外著名网站建设公司
  • 怎让做淘宝网站双11主机 wordpress 2015
  • 网站登录系统怎么做珠海做网站公司
  • 百度怎么创建自己的网站做一个中英文双语网站建设多少钱
  • 怎么生成网站源代码wordpress默认图片居中
  • 厦门专业建站系统制作公司wordpress 前台评论
  • 东莞网站推广方式沈阳装修公司网站建设
  • 无锡企业网站制作价格物流怎么弄网站
  • 服务器创建多个网站网站群建设方案6
  • 公司网站设计规划家居品牌策划公司
  • 网站违反了 google 质量指南淘宝客网站跳转单品
  • 网站建设cms苏宁易购网站建设的目的
  • 如何获取网站根目录链接网站开发流程博客
  • 织梦贷款网站模板做网站 公司有哪些
  • 广州建站网站设计小结
  • 长沙长沙网站建设公司整合营销案例分析
  • 南宁网站怎么做seo巩义网站建设案例
  • 网站开发工程师win7优化软件
  • 苏州知名网站建设建站公司建行app怎么注册登录
  • 做壁画在哪个网站纯静态网站
  • 仪征做网站公司免费seo搜索优化
  • 搜狗官方网站怎么把网页里的视频提取出来
  • diy做网站资源优化网站排名
  • 网址导航推广360排名优化
  • 广西建设职业技术学院官方网站营销型网站规划建设的七大要素
  • 上海房产做哪个网站好关于做网站的外语文献