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

太原网络推广网站新东方线下培训机构官网

太原网络推广网站,新东方线下培训机构官网,个人电影网站建设,沈阳响应式网站建设26. 删除有序数组中的重复项 已解答 简单 相关标签 相关企业 提示 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 n…

26. 删除有序数组中的重复项

已解答

简单

相关标签

相关企业

提示

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

  • 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
  • 返回 k 。

判题标准:

系统会用下面的代码来测试你的题解:

int[] nums = [...]; // 输入数组
int[] expectedNums = [...]; // 长度正确的期望答案int k = removeDuplicates(nums); // 调用assert k == expectedNums.length;
for (int i = 0; i < k; i++) {assert nums[i] == expectedNums[i];
}

如果所有断言都通过,那么您的题解将被 通过

示例 1:

输入:nums = [1,1,2]
输出:2, nums = [1,2,_]

示例 2:

输入:nums = [0,0,1,1,1,2,2,3,3,4]
输出:5, nums = [0,1,2,3,4]

提示:

  • 1 <= nums.length <= 3 * 104
  • -104 <= nums[i] <= 104
  • nums 已按 非严格递增 排列

解题思路

使用双指针法,慢指针 i 用于记录无重复元素的位置,快指针 j 遍历整个数组。

代码实现

/*** @param {number[]} nums* @return {number}*/
var removeDuplicates = function(nums) {if (nums.length === 0) return nums; // 如果数组为空,直接返回let i = 0; // 慢指针,指向当前唯一元素的位置for (let j = 1; j < nums.length; j++) { // 快指针,遍历数组if (nums[j] !== nums[i]) { // 如果发现新元素i++; // 慢指针右移nums[i]=nums[j];     }}return i+1; // 返回修改后的数组
};

27. 移除元素

简单

相关标签

相关企业

提示

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。

假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:

  • 更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。
  • 返回 k

用户评测:

评测机将使用以下代码测试您的解决方案:

int[] nums = [...]; // 输入数组
int val = ...; // 要移除的值
int[] expectedNums = [...]; // 长度正确的预期答案。// 它以不等于 val 的值排序。int k = removeElement(nums, val); // 调用你的实现assert k == expectedNums.length;
sort(nums, 0, k); // 排序 nums 的前 k 个元素
for (int i = 0; i < actualLength; i++) {assert nums[i] == expectedNums[i];
}

如果所有的断言都通过,你的解决方案将会 通过

示例 1:

输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2,_,_]
解释:你的函数函数应该返回 k = 2, 并且 nums 中的前两个元素均为 2。
你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。

示例 2:

输入:nums = [0,1,2,2,3,0,4,2], val = 2
输出:5, nums = [0,1,4,0,3,_,_,_]
解释:你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。
注意这五个元素可以任意顺序返回。
你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。

提示:

  • 0 <= nums.length <= 100
  • 0 <= nums[i] <= 50
  • 0 <= val <= 100

解题思路

慢指针 i :指向当前可以放置不等于 val 的元素的位置。 

快指针 j :遍历数组,检查每个元素是否等于 val 。

移动元素 :如果 nums[j] !== val ,则将 nums[j] 放到 nums[i] 的位置,并移动慢指针 i 。 

返回结果 :最终 i 的值就是不等于 val 的元素数量。

代码实现

/*** @param {number[]} nums* @param {number} val* @return {number}*/
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++;//指针右移}}return i;//返回不等于val的元素数量
};

66. 加一

 

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。

示例 2:

输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。

示例 3:

输入:digits = [9]
输出:[1,0]
解释:输入数组表示数字 9。
加 1 得到了 9 + 1 = 10。
因此,结果应该是 [1,0]。

提示:

  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9

解题思路

这是模拟加法的过程,和数组无关。

这道题的目标是对一个用数组表示的非负整数加一,并返回结果数组。数组的每个元素表示数字的一位,最高位在数组的首位。

思路: 从最低位开始加一 :从数组的最后一个元素(最低位)开始,逐位加一。 处理进位 :如果某一位加一后变为 10 ,则需要将这一位置为 0 ,并向高位进位。 处理最高位进位 :如果最高位也需要进位(例如 [9,9] 加一后变为 [1,0,0] ),则需要在数组的最前面插入 1

代码实现

/*** @param {number[]} digits* @return {number[]}*/
var plusOne = function(digits) {for(let i=digits.length-1;i>=0;i--){if(digits[i]<9) {digits[i]++;return digits}else{digits[i]=0;}}digits.unshift(1);return digits;
};

http://www.dinnco.com/news/56747.html

相关文章:

  • 网站开发微信支付详细教程2023上海又出现疫情了
  • 承德网站建设公司指数分布
  • 做啥网站流量高软文范文200字
  • 保定做网站电话企点下载
  • wordpress 注册页面插件优化营商环境条例
  • 企业管理咨询网站西安网站建设推广优化
  • 免费做链接的网站北京网站建设专业公司
  • 塘厦医院临沂seo
  • 网站列表页模板百度seo哪家公司好
  • 删除网站域名四川seo平台
  • 宠物店做网站的论文徐州关键词优化排名
  • 如何上传网站数据库推广策划方案
  • 即商通网站建设推广阿里云域名注册官网网址
  • 做网站哪里app软件下载站seo教程
  • 做网页是什么专业丽水百度seo
  • 遵义市住房和城乡建设局网站站长工具百科
  • 网站推广工具工作室近期国际新闻20条
  • wordpress 区块链seo关键词排名优化怎么收费
  • 公司网站文章成都seo正规优化
  • wordpress怎么破解网站seo优化发布高质量外链
  • 设计网络网站营销型网站建设步骤
  • 旅游品牌网站的建设北京seo供应商
  • b2b网站推广方案中国国家培训网
  • cdn如何做网站备案免费发广告的软件
  • .net网站做优化网站设计就业
  • 贵州网站建设费用sem推广什么意思
  • 网站建设除了中企动力如何做网站平台
  • 绵阳市 政府网站建设搜索引擎优化的步骤
  • 滨海新区网站建设搜索引擎营销总结
  • 企业网站改版升级如何免费开自己的网站