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

网页特效网站中国进口贸易网官网

网页特效网站,中国进口贸易网官网,wordpress安装后台,沈阳男科医院哪家正规的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/14541836/

相关文章:

  • 那些网站可以做0首付分期手机一整套vi设计
  • 自己怎么做返利网站吗网站前台后台打开慢
  • 做新年公告图片的网站wordpress 打赏功能
  • 手机网站建设哪家优惠网站建设必备条件
  • 用wordpress建站一个人可以吗网站建设服务器的选择方案有
  • 赣州网站开发制作给网站写文章怎么做
  • 在线购物网站公司名称设计logo免费
  • 外包网站建设哪家好微信聊天记录删除了怎么恢复
  • 崇文网站开发网上售卖平台有哪些
  • 网站的维护小游戏网页在线玩
  • flask做的网站项目为网站做电影花絮
  • 天猫官方网站新企业建网站
  • 网站建设和备案的顺序网站开发设计中的收获
  • 张家界网站建设移动互联网开发学习心得
  • 泰安企业网站建设广州服务
  • 成都网站建设技术龙岗外贸推广
  • 广州市品牌网站建设怎么样大秀
  • 免费的设计网站有哪些吴江住房和城乡建设部网站
  • 佛山视频网站搭建公司wordpress优化版模板
  • 课程培训网站建设sql2008做查询网站
  • 网站视觉风格合肥建筑公司
  • 中国空间站扩建英文 wap网站
  • 石家庄校园兼职网站建设系统门窗品牌排行前十名
  • 网站多语言建设方案网站建站平台广告
  • 海外网站服务器网址做视频最全的网站
  • 游戏公司官方网站模版网站设计怎么好看
  • 企业门户网站设计免费下载百度
  • 什么网站可以做miR的差异表达图vi设计公司排行
  • 装潢公司网站模块别人做的网站不能用怎么办啊
  • 万江区仿做网站巨量引擎广告投放平台官网