代码随想录算法训练营14期 Day1

发布时间 2023-05-09 14:24:10作者: 跪求个offer

数组理论基础

 

原文:https://github.com/youngyangyang04/leetcode-master/blob/master/problems/数组理论基础.md


704. 二分查找

 

解析链接:https://programmercarl.com/0704.二分查找.html#_704-二分查找

题目链接:https://leetcode.com/problems/binary-search/

 
 
 
 
 
 
 

这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。

我的解法采用的是第一种写法,我们定义 target 是在一个在左闭右闭的区间里,也就是[left, right] ,所以判断语句是 right >= left. 当left == right 的时候, 我们仍然可以在此区间查找。

时间复杂度:O(log n)
 空间复杂度:O(1)

解析链接:https://programmercarl.com/0027.移除元素.html#_27-移除元素

 

题目链接:https://leetcode.com/problems/remove-element/

 
 
 
 
  • 时间复杂度:O(n)

  • 空间复杂度:O(1)

 

 
 

CS61b lesson4

 

链接:https://joshhug.gitbooks.io/hug61b/content/chap2/chap22.html

 

了解java中的static以及private的使用情况,徒手造出一个array结构的class

 
 
 
 
 

找到lan 的课程链接:https://gortonator.github.io/bsds-6650/

 

找到bilibili多线程学习链接:https://www.bilibili.com/video/BV1n64y1o7S4?p=2&vd_source=cbfe51ca73b15c6734b2a2b56b1dd874