冲刺班专题

【大厂算法面试冲刺班】day2:合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 递归 class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if (l1 == null) {return l2;}else if (l2 == null) {return l1;}else if (l1.

【大厂算法面试冲刺班】day1:数据结构先导课-链表、列表

链表 /*链表结点类*/class ListNode{int val; //结点值ListNode next; //指向下一结点的指针(引用)ListNode(int x){val = x;} //构造函数} 在链表中查找值为target的首个结点 int find(ListNode head, int target){int index = 0;while(head != null)

【大厂算法面试冲刺班】day0:数据范围反推时间复杂度

常见算法的时间复杂度 规定n是数组的长度/树或图的节点数 二分查找:O(logn) 双指针/滑动窗口:O(n) DFS/BFS:O(n) 构建前缀和:O(n) 查找前缀和:O(1) 一维动态规划:O(n) 二维动态规划:O(n^2) 回溯:O(2^n)/O(n!) 下面重点来辣 数据范围反推时间复杂度 数据范围:n~100 O(n!)/O(2^n)的时间复杂度 应该考虑回溯或任何蛮力式