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

园林景观效果图网站平台销售模式有哪些

园林景观效果图网站,平台销售模式有哪些,wordpress 作品展,郑州网站seo外包leetcode面试经典150题第一弹 一、合并俩个有序数组(难度:简单) 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并…

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.yayakq.cn/news/465558/

相关文章:

  • 建网站的基本步骤网页开发三件套
  • 手机怎么打开禁止访问的网站手机端网站开发框架
  • lamp环境做网站cms建站系统 下载
  • 广州网站设计费用视觉设计师和平面设计师的区别
  • 哈尔滨网站推广大学生创业计划书
  • 外汇平台网站建设许昌市网站建设找汉狮
  • 陆家网站建设icon图标素材下载网站
  • 外贸常用网站磁力帝
  • 网站开发职业生涯规划范文阿里云宝塔面板一键安装wordpress
  • 郑州网站建设公司电话上海网站建设公司排名
  • 公司的网站建设费入什么科目全球网站开发者大会
  • 中国机械加工网订单临沂seo推广外包
  • 深圳企业网站建设优惠长沙房地产新政策
  • 彩票网站net网站开发网站购物车代码怎么做
  • 网站快照不更新原因seo如何优化关键词排名
  • 网站管理助手哪个好用鸿星尔克网络营销案例分析
  • 开发个网站多少钱产品界面设计
  • 长春高端模板建站互联网推广平台
  • 影视网站建设的总体目标网站为什么吸引人
  • 沈阳网站建设哪家做得好怎样做互联网推广
  • 做衣服的网站推荐视频网站开发意义
  • 网站建设公司不让放自己空间站毕业设计做一个网站怎么做
  • dm网站制作软件小型公司网站建设
  • 列车营销网站怎么做做美食网站首页怎么做
  • 企业网址是什么?裤子seo优化标题
  • 做网站充值微信必须是企业iapp登录wordpress
  • 大型地方门户网站源码长春关键词优化
  • 龙华龙岗网站建设公司徐州网站开发设计公司电话
  • ruhe用dw做网站搜索推广渠道
  • 基于php的网站建设思路方案网页配色设计手册