LiuZhian's Blog

Welcome to my home~

Leetcode 74-搜索二维数组

两次二分查找 VS 一次二分查找

Leetcode 74-搜索二维数组1. 题目描述编写一个高效的算法来判断?m x n?矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 12345678910111213141516171819示例?1:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], ......

Leetcode 66-加一

我的垃圾代码 VS 别人的优雅代码

Leetcode 66- 加一1. 题目描述给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。12345678910示例?1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例?2:输入: [4,3,2,1]输出: [4,3,2,......

Java多线程核心技术阅读笔记(第三章)

Java多线程 线程之前的通信

第3章 线程之前的通信3.1 忙等 Busy-Wait譬如说,两个线程都在监视一个共享变量,线程A对共享变量进行操作(例如,增加),线程B一直在while(true){}代码块中判断共享变量是否到了想要的值(加到了100)。这样看似好像很简单,也容易理解,但是在while(true){}中如果没到达退出条件,其实是在空转,浪费CPU资源。 向如下这样:1234567891011121314......

Leetcode 62,63- 不同路径

动态规划,水题

Leetcode 62,63- 不同路径1. 题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 1234567输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右......

Java多线程核心技术阅读笔记(第二章)

Java多线程 对象及变量的并发访问

第2章 对象及变量的并发访问2.1 synchronized 关键字Java中每个对象都持有一把锁,当多线程并发地访问同一对象时,可以用synchronized关键字对这些并发线程进行同步。如果线程A先拿到了锁,其他线程B/C/D只能傻傻地等待线程A释放锁。1234567891011121314151617181920212223242526272829303132333435363738......

异常检测论文笔记

2019/11/06

这次看的是以下两篇文章: 【ICCV-2017】Unmasking the abnormal events in video 【ICCV-2019】Anomaly Detection in Video Sequence with Appearance-Motion Correspondence 以下是论文笔记: ...

Leetcode 56- 合并区间

区间交集的3种情况枚举

Leetcode 56- 合并区间1. 题目描述给出一个区间的集合,请合并所有重叠的区间。12345678910示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例?2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 ......

Leetcode 54- 螺旋输出数组

水题,分治

Leetcode 54- 螺旋输出数组1. 题目描述很简单的需求,给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素:123456789101112131415161718示例?1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例?2:输入:[ [1,......

Java多线程核心技术阅读笔记(第一章)

Java多线程API基本使用

第1章 Java多线程技能1.1 使用Java多线程的两种方式 自定义一个类Mythread继承Thread类,并重载run()方法,再新建一个该类对象即可。 1234567891011public class MyThread extends Thread { @Override public void run() { super.run()......

Leetcode 53- 最大子段和

分治 or 动态规划

Leetcode Leetcode 53- 最大子段和1. 题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。123输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 2. 思路2.1 分治这个没啥好说的,经典题,当时在算法书上印象比较深刻的就是用分治: ......