- 博客(20)
- 资源 (5)
- 收藏
- 关注
原创 Python3机器学习笔记(3)—— Numpy array的基本操作
1 基本属性查看维数1.1 numpy.array的数据访问创建一个和原矩阵无关的子矩阵
2019-05-28 22:22:08 246
原创 Python3机器学习笔记(2)—— Numpy 数据基础
1 numpy.array1.1 Python 中的 List 特点List 可以存储不同类型的元素1.2 Python 中的 arrayarray 是限定类型的1.3 Numpy 中的 array只能存储一种类型1.4 其他创建 numpy.array 的方法...
2019-05-27 17:14:13 184
原创 Python3机器学习笔记(1)—— Jupyter Notebook 操作
1 Jupyter Notebook操作1.1 添加行的快捷键先选中某一行a: 前面添加行b: 后边添加行
2019-05-24 10:59:18 327
原创 STM32 USB官方库移植
1 工程添加的官方库然后编译,报错再次编译usb_lib.h 添加相关头文件#include "stm32f10x.h"#include "stm32f10x_conf.h"#include "stm32f10x_it.h"去掉官方库中检测USB是否插入,是由一个引脚控制,实际板子上,是用一个上拉电阻焊死的;再次编...
2019-05-20 17:11:50 4248
原创 动态规划问题(2)——矩阵的最小路径和
1 矩阵的最小路径和从左上角开始,每次只能向右或者向下走,最后到达右下角。矩阵大小 M*N1.1 方法1时间复杂度: O(M*N)空间复杂度: O(M*N)public static int getMin(int[][] m) { if (m == null || m.length == 0 || m[0].length == 0 || m[0] == null) ...
2019-05-13 11:04:33 1271
原创 动态规划问题(1)—— 斐波那契数列问题
1 斐波那契数列问题1,1,2,3,5,8...package coding_interview_guide.dp;public class Fab_1 { public static int[][] matrixPower(int[][] m, int p) { int[][] res = new int[m.length][m[0].length];...
2019-05-13 09:54:33 258
原创 STM32 基础介绍——官方库
1 关键文件介绍1.1 core_cm3.c 和 core_cm3.hCMSIS的核心文件,提供进入 Cortex-M3 内核接口,由 ARM 公司提供。1.2 system_stm32f10x.c,system_stm32f10x.hsytem_stm32f10x.c 设置系统和总线的时钟;里面有一个重要的函数 SystemInit() ,这个函数在系统启动的时候会调用,用来...
2019-05-08 14:53:28 1514
原创 No.52-两个链表的第一个公共节点
1 两个链表的第一个公共节点public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if (pHead1 == null || pHead2 == null) { return null; } int len1 = getListLe...
2019-05-08 09:45:36 164
原创 No.51-数组中的逆序对
1 数组中的逆序对public class InversePairs_51 { int count; int[] temp; public int InversePairs(int[] array) { if (array.length == 0) { return 0; } count = 0...
2019-05-07 23:20:09 97
原创 Java线程学习笔记(12)——线程池
1 线程池介绍程序启动一个新的线程成本比较高,因为要涉及与操作系统进行交互。当程序要创建大量生存期很短的线程时,考虑使用线程池。线程池中的每一个线程代码结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来使用。JDK5之前,需要自己实现线程池,从JDK5开始支持内置的线程池;2 线程池使用JDK5新增 Executors 工厂类来产生线程池,有如下几个方法:...
2019-05-05 15:21:11 162
原创 Java线程学习笔记(11)—— 线程的 5 种状态
1 线程的 5 中状态新建: 创建线程对象;就绪: 线程对象已经启动,但是还没有获得CPU的执行权;运行: 获得了 CPU 的执行权;阻塞: 没有CPU执行权,回到就绪;死亡:代码运行完毕;...
2019-05-05 10:01:56 178
原创 Java线程学习笔记(10)—— 线程组
1 线程组介绍Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制;默认情况下,所有的线程都属于主线程组;public final ThreadGroup getThreadGroup() 通过线程对象获取他所属于的组;public final String getName() 通过线程组对象获取组的名字;可以给线程设置分...
2019-05-05 09:45:35 308
原创 MySQL必知必会学习笔记(9)—— 全文本搜索
1 并非所有的引擎都支持全文本搜索两个最常用的数据局引擎 MyISAM 和 InnoDBMyISAM,支持全文本搜索;InnoDB,不支持;1.1 通配符和正则的限制性能,通配符和正则表达式匹配通常要求MySQL尝试匹配表中所有行(而且这些搜索极少使用表索引)。因此,由于被搜索行数不断的增加,这些搜索可能非常耗时;明确控制,使用通配符和正则很难明确控制匹配什么和不匹配什么。例如,...
2019-05-05 09:34:24 193
原创 Java线程学习笔记(9)—— JDK1.5新特性-互斥锁(ReentrantLock)
1 ReentrantLock介绍可以实现同步加锁;使用 lock(),unlock() 方法同步;1.2 使用要点使用 ReentrantLock 类的 newCondition() 方法可以获取 Condition 对象;需要等待的时候使用 Condition 的 await() 方法,唤醒的时候用 signal() 方法;不同的线程使用不同的 Condition,这样在唤醒...
2019-05-04 16:45:23 204
原创 Java线程学习笔记(8)—— 线程间通信
1 线程间通信多个线程并发执行时, 在默认情况下CPU是随机切换线程的,如果我们希望他们有规律的执行, 就可以使用通信, 例如每个线程执行一次打印1.1 如何通信如果希望线程等待, 就调用wait()如果希望唤醒等待的线程, 就调用notify();notify是随机唤醒一个线程notifyAll是唤醒所有线程这两个方法必须在同步代码中执行, 并且使用同步锁对象来调用如果方法中没...
2019-05-04 16:19:52 189
原创 MySQL必知必会学习笔记(9)—— 插入数据
1 插入完整的行1.1 方法一这种语法简单,但是不安全,SQL 语句依赖于表中列的次序;原数据表INSERT into customersVALUES(null,'Mike','HaiDian Distinct','Beijing','CN','100876','China',null,null);1.2 方法二values 必须以其指定的次序匹配指定的列名,不...
2019-05-04 15:34:47 223 1
原创 No.49-丑数
1 丑数public static int GetUglyNumber_Solution(int index) { if (index <= 0) { return 0; } int p2 = 0; int p3 = 0; int p5 = 0; int newNum...
2019-05-03 15:34:36 159
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人