当前位置:首页 > 编程笔记 > 正文
已解决

LetCode算法题

来自网友在路上 146846提问 提问时间:2023-09-27 08:37:09阅读次数: 46

最佳答案 问答题库468位专家为你答疑解惑

注:大佬解答来自LetCode官方题解

88.合并两个有序数组

1.题目

2.个人解答

var merge = function (nums1, m, nums2, n) {//合并for (let i = 0; i < n; i++) {nums1[i + m] = nums2[i];}// 排序(冒泡排序)for (let i = 0; i < m + n; i++) {for (let j = 0; j < m + n - i - 1; j++) {if (nums1[j] > nums1[j + 1]) {[nums1[j], nums1[j + 1]] = [nums1[j + 1], nums1[j]];}}}
};

3.大佬解答

var merge = function (nums1, m, nums2, n) {nums1.splice(m, nums1.length - m, ...nums2);nums1.sort((a, b) => a - b);
};

27.移除元素

1.题目

 2.个人解答

var removeElement = function (nums, val) {function remove(nums, i, val) {if (nums[i] == val) {nums.splice(i, 1);remove(nums, i, val);}}for (let i = 0; i < nums.length; i++) {remove(nums, i, val);}
};

3.大佬解答

var removeElement = function(nums, val) {const n = nums.length;let left = 0;for (let right = 0; right < n; right++) {if (nums[right] !== val) {nums[left] = nums[right];left++;}}return left;
};

 

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

1.题目

 2.个人解答

var removeDuplicates = function (nums) {const res = [];for (let i = 0; i < nums.length; i++) {const item = nums[i];let isDuplicate = false;for (let j = 0; j < res.length; j++) {if (item === res[j]) {isDuplicate = true;break;}}if (!isDuplicate) {res.push(item);}}nums.length = res.length;for (let index = 0; index < nums.length; index++) {nums[index] = res[index];}
};

3.大佬解答

var removeDuplicates = function(nums) {const n = nums.length;if (n === 0) {return 0;}let fast = 1, slow = 1;while (fast < n) {if (nums[fast] !== nums[fast - 1]) {nums[slow] = nums[fast];++slow;}++fast;}return slow;
};

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"LetCode算法题":http://eshow365.cn/6-14549-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!