【LeetCode刷题】旋转数组
数组有序时常用二分法来查找,时间复杂度降到O(logn)。旋转的有序数组也可以使用二分法,通过讨论mid所指元素在数组中的位置来重新确定搜索范围。
数组有序时常用二分法来查找,时间复杂度降到O(logn)。旋转的有序数组也可以使用二分法,通过讨论mid所指元素在数组中的位置来重新确定搜索范围。
Java中多线程加锁机制主要有两种:一种是jdk实现的Lock锁,一种是JVM底层实现的synchronized关键字。
区别:
synchronized用于方法或代码块;Lock是一个接口,实现类有ReentrantLock可重入锁、ReadWriteLock读写锁。
synchronized是隐式锁,无需手动开启和关闭,因此不会出现死锁;Lock锁是显示锁,需要手动开启和关闭,如果开启和关闭次数不一致,可能发生死锁。