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

东莞网站建设seo学习网站建设优化

东莞网站建设seo,学习网站建设优化,seo优化多少钱,微信怎么创建微信公众号11.盛水最多的容器15.三数之和26.删除有序数组中的重复项27.移除元素75.颜色分类88.合并两个有序数组167.两数之和2-输入有序数组581.最短无序连续子数组2486.追加字符以获得子序列 11.盛水最多的容器 /*** param {number[]} height* return {number}*/ // 思路 // 左0 右 n-…11.盛水最多的容器15.三数之和26.删除有序数组中的重复项27.移除元素75.颜色分类88.合并两个有序数组167.两数之和2-输入有序数组581.最短无序连续子数组2486.追加字符以获得子序列 11.盛水最多的容器 /*** param {number[]} height* return {number}*/ // 思路 // 左0 右 n-1 // while leftright // 计算宽度right-left // 左边大 右高乘以width 右-- // 右边大 左高乘以width 左 // 指针移动 谁小谁移动 // 更新最大值 var maxArea function (height) {let left 0;let right height.length - 1;let ans 0;while (left right) {let width right - left;if (height[left] height[right]) {val width * height[right];ans Math.max(ans, val);right - 1;} else {val width * height[left];ans Math.max(ans, val);left 1;}}console.log(ans); }; maxArea([1, 8, 6, 2, 5, 4, 8, 3, 7]); // 输入[1,8,6,2,5,4,8,3,7] // 输出4915.三数之和 /*** param {number[]} nums* return {number[][]}*/ // 思路 // 数组升序很重要 // 计算公式 定个首元素 左元素 右元素 0 // for循环定义首元素 // while循环 变更左右指针 确定左右元素 // total 0 left total 0 rigth // total0 更新结果 并且剪枝 如果左左1 左 右右-1 右-- var threeSum function (nums) {nums.sort((a, b) a - b);let ans [];for (let i 0; i nums.length; i) {let startNum nums[i];let left i 1;let right nums.length - 1;if (startNum 0) continue;if (i 0 startNum nums[i - 1]) continue;while (left right) {let total startNum nums[left] nums[right];if (total 0) {left 1;} else if (total 0) {right - 1;} else {ans.push([startNum, nums[left], nums[right]]);// 剪枝避免重复元素while (left right nums[left] nums[left 1]) left 1;while (left right nums[right] nums[right - 1]) right - 1;left 1;right - 1;}}}// console.log(ans, ans);return ans; }; // [ -4, -1, -1, 0, 1, 2 ] threeSum([-1, 0, 1, 2, -1, -4]);// 输入nums [-1,0,1,2,-1,-4] // 输出[[-1,-1,2],[-1,0,1]] 26.删除有序数组中的重复项 /*** param {number[]} nums* return {number}*/ // 思路 // 双指针解法 // for循环 right从1开始 // 当left right对应的值不相等时 left递增1 并且对应值赋值为right对应的值 var removeDuplicates function (nums) {let left 0;for (let right 1; right nums.length; right) {if (nums[left] ! nums[right]) {left 1;nums[left] nums[right];}}console.log(left 1);return left 1; }; removeDuplicates([0, 0, 1, 1, 1, 2, 2, 3, 3, 4]); 27.移除元素 /*** param {number[]} nums* param {number} val* return {number}*/ // 思路 // 双指针解法 // for遍历数组 // 条件: 当遍历值不等于val时, 设置num[i]为遍历值并指针右移 // 都是不利用任何api只是更改数组下标的方式得到结果 var removeElement function (nums, val) {let i 0;for (let j 0; j nums.length; j) {if (nums[j] ! val) {nums[i] nums[j];i 1;}}return i; }; removeElement([3, 2, 2, 3], 3); // nums [3,2,2,3], val 3 75.颜色分类 88.合并两个有序数组 /*** param {number[]} nums1* param {number} m* param {number[]} nums2* param {number} n* return {void} Do not return anything, modify nums1 in-place instead.*/ // 思路 // 定义两个数组的尾指针 // whiile 循环比较尾指针值大小 // 分别填充比较后的数值 指针左移 // for循环nums2 填充 补充前面的数据针对num2的长度比num1长 var merge function (nums1, m, nums2, n) {let firstPoint m - 1;let secondPoint n - 1;// 倒序 从尾部比较2个数组填充 指针左移while (firstPoint 0 secondPoint 0) {if (nums1[firstPoint] nums2[secondPoint]) {nums1[firstPoint secondPoint 1] nums1[firstPoint];firstPoint - 1;} else {nums1[firstPoint secondPoint 1] nums2[secondPoint];secondPoint - 1;}}// num1比num2短的情况下if (secondPoint 0) {for (let i 0; i secondPoint; i) {nums1[i] nums2[i];}} };// 输入nums1 [1,2,3,0,0,0], m 3, nums2 [2,5,6], n 3 // 输出[1,2,2,3,5,6] // 解释需要合并 [1,2,3] 和 [2,5,6] 。 // 合并结果是 [1,2,2,3,5,6] 其中斜体加粗标注的为 nums1 中的元素。 167.两数之和2-输入有序数组 581. 最短无序连续子数组 /*** param {number[]} nums* return {number}*/ // 思路 双指针解法 // while循环 从左 从右遍历 找到 left right边界 // for循环left right 找到其中的最大值 最小值 // 确定左右指针的最终位置 left比min小 max 比right小 // 更新结果 right-left -1var findUnsortedSubarray function (nums) {let len nums.length;let left 0;let right len - 1;while (left len nums[left] nums[left 1]) left;while (right 0 nums[right - 1] nums[right]) right--;let min Infinity;let max -Infinity;for (let i left; i right; i) {min Math.min(min, nums[i]);max Math.max(max, nums[i]);}while (nums[left] min) left--;while (nums[right] max) right;console.log(left, right);return left right ? right - left - 1 : 0; }; console.log(findUnsortedSubarray([2, 6, 4, 8, 10, 9, 15])); console.log(findUnsortedSubarray([1, 3, 2, 2, 2])); // 输入nums [2,6,4,8,10,9,15] // 输出5 2486. 追加字符以获得子序列 /*** param {string} s* param {string} t* return {number}*/ // 思路 // 双指针解法 // 遍历字符串s , 如果s某个字符等于t的某个字符则i // 更新结果n-i var appendCharacters function (s, t) {const n t.length;let i 0;for (let j 0; j s.length; j) {if (s[j] t[i]) {i;}}console.log(n - i);return n - i; }; appendCharacters(coaching, coding); // 输入s coaching, t coding // 输出4
http://www.zqtcl.cn/news/5029/

相关文章:

  • 企业网站制作优化注销主体备案与网站备案表
  • 网站备案 名称 不一致视频网站做app开发的
  • 萝岗企业网站建设天河网站建设策划
  • 招聘网站怎么做推广商务网站建设策划书
  • 网站建设教育板块云购网站开发
  • 建成局网站建设cms二次开发网站建设
  • 花卉物流园做网站的素材app永久免费封装平台
  • 恶意点击别人的网站基础集团网站建设
  • 观光园网站建设wordpress 5.2设置中文
  • 做那类网站赚钱网站 展示板
  • 拓元建设网站wordpress点赞打赏
  • 医院网站详细设计药品招采网站建设费用
  • 微信 网站 织梦品牌建设运营的最高境界
  • 南沙网站建设优化图片的制作方法
  • 茶酒行业网站建设中国纪检监察报邮发代号
  • 海门网站建设培训好的网站特点
  • 河北省建设机械协会官方网站济南营销型网站建设公司
  • 网站数据库搬家内网怎么做网站服务器
  • 做关于手机的网站 该如何设计wordpress空白主题
  • 行政助手网站开发如何添加网站后台
  • 自己做网站需要做服务器湛江网站制作优化
  • 黄村做网站建设免费logo在线制作工具
  • 做的网站浏览器的网站
  • 福州网站制作哪里好设计师网络接单
  • 学php做网站郴州网站建设哪家做的好
  • 网站建设金手指排名稳定seo教程百度云
  • 申请号的网站南充网站建设与维护
  • 企业网站推广方案设计毕业设计小米发布会直播入口
  • 北京高端网站建设公司浩森宇特云服务器怎么做网站
  • 网站做蜘蛛池有用吗行业网站做的好的