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

做网站公司徐汇免费免费建站

做网站公司徐汇,免费免费建站,域名会跳转怎么进原网站,专业网页制作室leetcode面试经典150题第一弹 一、合并俩个有序数组(难度#xff1a;简单) 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2#xff0c;另有两个整数 m 和 n #xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中#xff0c;使合并…leetcode面试经典150题第一弹 一、合并俩个有序数组(难度简单) 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中使合并后的数组同样按非递减顺序排列。 注意最终合并后数组不应由函数返回而是存储在数组 nums1 中。为了应对这种情况nums1 的初始长度为 m n其中前 m 个元素表示应合并的元素后 n 个元素为 0 应忽略。nums2 的长度为 n 。 解题思路 直接合并后排序,最直观的方法是先将数组nums2放进数组nums1的尾部然后直接对整个数组进行排序。 1、splice直接改变原数组可用于删除、插入、替换 2、使用sort进行排序 sort((a, b) a - b)为正序即从小到到大 sort((a, b) a - b)为倒叙即从大到小 代码示例 /*** param {number[]} nums1* param {number} m* param {number[]} nums2* param {number} n* return {void} Do not return anything, modify nums1 in-place instead.*/ var merge  function(nums1, m, nums2, n) {nums1.splice(m, nums1.length - m, ...nums2);nums1.sort((a, b)  a - b); };结果 二、移除元素(难度简单) 题目 给你一个数组 nums 和一个值 val你需要原地移除所有数值等于 val 的元素并返回移除后数组的新长度。 不要使用额外的数组空间你必须仅使用O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 解题思路 1、js中splice可以直接改变原数组直接使用splice删除 2、在ES6中有更简单直接的方法去重Array.from(new Set(arr))但是这样会改变原数组导致leetCode测试用例不通过。题目中要求原地修改数组 代码示例 /*** param {number[]} nums* param {number} val* return {number}*/ var removeElement  function(nums, val) {for(let i  0; i  nums.length; i) {if(nums[i]  val) {nums.splice(i, 1)i--}} }; 结果 三、删除有序数组中的重复项(难度简单) 题目 给你一个 非严格递增排列 的数组 nums 请你 原地 删除重复出现的元素使每个元素 只出现一次 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k 你需要做以下事情确保你的题解可以被通过 更改数组 nums 使 nums 的前 k 个元素包含唯一元素并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。 返回 k 。 解题思路 我在这道题的解题中使用了ES6中的new Map()利用map每个键都是唯一的特性去重 1、ES6中map,是一种有序的键值对集合其中每个键都是唯一的。它可以存储任何类型的值作为键或值包括原始类型和对象引用。 2、map.set(name,xiaobaigis),添加键值对 3、map.has(5)判断是否有指定键 代码示例 /*** param {number[]} nums* return {number}*/ var removeDuplicates  function(nums) {let newMap  new Map()for(let i  nums.length; i  0; i-- ) {if(newMap.has(nums[i])) {nums.splice(i, 1)} else {newMap.set(nums[i])}} };结果 四、删除有序数组中的重复项(难度中等) 题目 给你一个有序数组 nums 请你原地删除重复出现的元素使得出现次数超过两次的元素只出现两次 返回删除后数组的新长度。 不要使用额外的数组空间你必须在原地修改输入数组 并在使用O(1) 额外空间的条件下完成。 解题思路 1、因为是个有序数组所以如果相同的元素必定在一起判断如果有三个相邻元素相同则删掉一个元素 2、splice直接改变原数组可用于删除、插入、替换 代码示例 /*** param {number[]} nums* return {number}*/ var removeDuplicates  function(nums) {if(nums.length  3) {return;}for(let i  2; i  nums.length; i) {if(nums[i]  nums[i-1]  nums[i]  nums[i-2]) {nums.splice(i, 1)i--}} };结果 欢迎关注我的个人公众号javascript艺术
http://www.hkea.cn/news/14361275/

相关文章:

  • 单页面网站做排名dede如何手机网站和电脑网站的数据同步更新
  • 如何做网站宣传自己提升学历的四种方式
  • 网站域名怎么缴费wordpress更换域名批量替换
  • 域名注册和网站哪个好体育西网站开发
  • 试用网站 源码我们seo
  • 网站建设教程在线南通网站制作哪个好
  • 成都红酒网站建设网站维护运营怎么做
  • 网页设计属于前端吗沈阳百度推广排名优化
  • wordpress加skype雄安做网站优化的公司
  • 浙江第一水电建设集团网站做商演任务的网站
  • 国内flash网站跨境电商平台推广
  • 中山手机网站开发seo网站计划书
  • 长链接转短链接生成器做seo网站
  • 个人教程网站温州营销网站制作报价
  • 有多少网站建设外包合肥网络推广软件系统
  • 郑州做网站远辰学习前端的网站
  • 网站建设和网页设计视频教程山东省建设厅招标网站
  • 网站ip被屏蔽怎么办网页编辑公众号
  • 中国空间站建造完成研发和开发的区别
  • 如何上传自己的视频做网站压铸东莞网站建设
  • 多语言社交网站开发温州网站推广有哪些方法
  • 数学教学网站开发邯郸有学做搭建网站的吗
  • 怎么做伪静态网站seo教程正规化岚鸿
  • 怎么自己公司名下的网站山东济南网站建设公司哪家好
  • 淘宝客做网站可行么apache如何搭建多个网站
  • 我想做个网站要多少钱wordpress模版标签
  • 关于网站建设的方案ppt深圳vi设计团队
  • 国内做网上旅游业务的网站一键logo免费设计在线生成神器
  • 江门站排名优化搜索引擎优化目标
  • 建筑网站图纸如何做网站预览