LeetCode算法
sylvia_lily
这个作者很懒,什么都没留下…
展开
-
leetcode 三数之和与四数之和
LeetCode经典题原创 2022-07-27 01:31:59 · 253 阅读 · 1 评论 -
leetcode链表相关操作
203.移除链表元素/** * 添加虚节点方式 * 时间复杂度 O(n) * 空间复杂度 O(1) * @param head * @param val * @return */public ListNode removeElements(ListNode head, int val) { if (head == null) { return head; } // 因为删除可能涉及到头节点,所以设置dummy节点,统一操作 ListNode原创 2021-11-09 00:04:36 · 171 阅读 · 0 评论 -
LeetCode快慢指针解题
双指针法双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。删除过程如下:双指针法(快慢指针法)在数组和链表的操作中是非常常见的,很多考察数组、链表、字符串等操作的面试题,都使用双指针法。// 时间复杂度:O(n)// 空间复杂度:O(1)class Solution { public int removeElement(int[] nums, int val) { // 快慢指针 int fastIndex =原创 2021-09-26 22:42:33 · 166 阅读 · 0 评论 -
leetcode二分法笔记
左闭右闭区间while(left<=right)left = mid + 1;right = mid -1;ps:不加一是不行的,程序会无线循环等于不循环是不行的,会少判断次数左闭右开区间while(left<right)left = mid + 1;right = mid;35.找左边界用mid<=targetleft = mid +1;leftBorder = left;找右边界用mid>=targetright = mid -1;rightBor原创 2021-08-22 00:57:19 · 145 阅读 · 0 评论 -
回溯算法笔记
回溯算法1.组合问题基本参数为int[] nums,int startnums数组为要组合的数组start为单层搜索逻辑起始下标,为了排除重复结果(不添加前面选择过得元素)LeetCode 78 子集LeetCode 39 组合总和LeetCode 77组合减枝要素: for(int i = start; i<=n-(k-list.size())+1; i++)LeetCode 90 子集2(重复元素包含)核心要点:1.开始前先排序2原创 2021-05-31 21:16:05 · 106 阅读 · 0 评论