• LetCode算法题


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

    88.合并两个有序数组

    1.题目

    2.个人解答

    1. var merge = function (nums1, m, nums2, n) {
    2. //合并
    3. for (let i = 0; i < n; i++) {
    4. nums1[i + m] = nums2[i];
    5. }
    6. // 排序(冒泡排序)
    7. for (let i = 0; i < m + n; i++) {
    8. for (let j = 0; j < m + n - i - 1; j++) {
    9. if (nums1[j] > nums1[j + 1]) {
    10. [nums1[j], nums1[j + 1]] = [nums1[j + 1], nums1[j]];
    11. }
    12. }
    13. }
    14. };

    3.大佬解答

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

    27.移除元素

    1.题目

     2.个人解答

    1. var removeElement = function (nums, val) {
    2. function remove(nums, i, val) {
    3. if (nums[i] == val) {
    4. nums.splice(i, 1);
    5. remove(nums, i, val);
    6. }
    7. }
    8. for (let i = 0; i < nums.length; i++) {
    9. remove(nums, i, val);
    10. }
    11. };

    3.大佬解答

    1. var removeElement = function(nums, val) {
    2. const n = nums.length;
    3. let left = 0;
    4. for (let right = 0; right < n; right++) {
    5. if (nums[right] !== val) {
    6. nums[left] = nums[right];
    7. left++;
    8. }
    9. }
    10. return left;
    11. };

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

    1.题目

     2.个人解答

    1. var removeDuplicates = function (nums) {
    2. const res = [];
    3. for (let i = 0; i < nums.length; i++) {
    4. const item = nums[i];
    5. let isDuplicate = false;
    6. for (let j = 0; j < res.length; j++) {
    7. if (item === res[j]) {
    8. isDuplicate = true;
    9. break;
    10. }
    11. }
    12. if (!isDuplicate) {
    13. res.push(item);
    14. }
    15. }
    16. nums.length = res.length;
    17. for (let index = 0; index < nums.length; index++) {
    18. nums[index] = res[index];
    19. }
    20. };

    3.大佬解答

    1. var removeDuplicates = function(nums) {
    2. const n = nums.length;
    3. if (n === 0) {
    4. return 0;
    5. }
    6. let fast = 1, slow = 1;
    7. while (fast < n) {
    8. if (nums[fast] !== nums[fast - 1]) {
    9. nums[slow] = nums[fast];
    10. ++slow;
    11. }
    12. ++fast;
    13. }
    14. return slow;
    15. };

  • 相关阅读:
    【ES实战】ES中关于segment的小结
    【C语言】算法:二分查找
    PPT怎么转换成Word文档?分享两种转换小妙招
    SpringBoot+vue实现前后端分离的摄影跟拍预定管理系统
    50 二叉树中的最大路径和
    单调队列优化DP
    RestFul和控制器
    java基于移动端的产后康复机构管理系统uniapp
    【初始RabbitMQ】了解和安装RabbitMQ
    python中的小tips
  • 原文地址:https://blog.csdn.net/m0_71469120/article/details/133323851