- 博客(40)
- 资源 (12)
- 收藏
- 关注
原创 Git常用命令总结
一般过程cd D:\Code\Vscode 进入存放代码的目录git clone -b dev url <foder name> 将远程dev分支clone到本地,会自动创建工程目录(如果在命令后加入文件夹名称,会创建该文件夹,否则创建默认名称)cd taskcenter 进入工程目录git checkout -b dev origin/dev 从远程dev分支创建本地分支dev,并切换到该分支git status 查看工作区代码相对于暂存区的差别git add . 将当前..
2020-08-19 16:40:47
212
原创 Activiti学习笔记(一)——环境搭建
Activiti学习笔记(一)——环境搭建文章目录Activiti学习笔记(一)——环境搭建创建工程生成数据库表创建工程IDEA编译器,新建Maven工程,pom文件中加入以下依赖。其中,注意MySQL的版本要与本地安装的MySQL版本一致。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w
2020-08-15 15:47:02
212
原创 Spring Data JPA持久化问题
环境Java SpringBoot,Spring Data JPA。如下代码所示,类A上打上事务注解,在方法A执行完save语句后,查看数据没有被持久化到数据库中,但此时执行方法B获取内容,却能获取到。也就是说repository是从cache中而不是数据库中获取数据?其中原理细节需要再调查一下。@Transactionalpublic class A { public void m...
2019-10-18 15:59:52
715
1
原创 ClassNotFoundException: org.springframework.web.socket.server.standard.ServerEndpointExporter
工作中,使用到了spring boot websocket。将工程打包部署到集成环境中,启动报错:java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration.pro...
2019-10-09 15:24:52
8599
3
原创 Spring Data JPA 动态查询总结
最近接触到的项目要使用Spring Data JPA 的动态查询。学习了几天之后,以一个Student的小例子做一下总结。1.定义StudentFilter,查询条件的集合,即通过ID和name来查询Student。@Datapublic class StudentFilter { private String id; private String name;}2...
2019-08-08 19:41:45
1398
原创 机器学习面试问题总结
机器学习算法面试问题 美团AI算法1. xgboost原理,怎么防过拟合2. gbdt推导3. boosting和bagging在不同情况下的选用4. DBSCAN原理和算法伪代码,与kmeans,OPTICS区别5. LSTM原理,与GRU区别6. 算法题:翻转中间由各种符号隔开的字符串 1. EM算法推导,jensen不等式确定的下界2. xgboo...
2018-12-07 18:40:01
5142
原创 剑指offer——机器人的运动路径
题目描述:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路:还是先定义一个从某点出发的函...
2018-07-17 11:51:22
659
原创 剑指offer——矩阵中的路径
题目描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为...
2018-07-17 10:38:59
155
原创 剑指offer——数据流中的中位数
题目描述:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。思路:/*** 对于一个升序排序的数组,中位数为左半部分的最大值,右半部分的最小值,而左右两部分可以是无需的,只要保证左半部分的数均小于 右半部分即可。因此,左右两半部分分别可...
2018-07-16 18:30:26
489
原创 剑指offer——把二叉树打印成多行
题目描述:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:层次遍历,使用队列先进先出设两个变量toBeAdd,nextLevel分别表示当前行需要遍历的节点数和下一层的节点数。代码:语言C++,已通过牛客网在线测试。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode ...
2018-07-14 16:32:12
152
原创 剑指offer——按之字形打印二叉树
题目描述:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路:设两个栈,s1存放奇数层,s2存放偶数层遍历s1节点的同时按照左子树、右子树的顺序加入s2,遍历s2节点的同时按照右子树、左子树的顺序加入s1代码:语言C++,已通过牛客网在线测试。/*struct TreeNode { int ...
2018-07-14 15:50:33
198
原创 剑指offer——对称的二叉树
题目描述:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路: 有root 左右均为空 true 左右缺少一个 false 左右均有但是值不相等 false 注意对称的意义,如左子树的右与右子树的左对称 递归代码:语言C++,已通过牛客网在线测试。/*struct TreeNode { int ...
2018-07-14 15:03:48
128
原创 剑指offer——删除链表中重复的结点
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。思路:此题要求,重复节点不保留。代码:语言C++,已通过牛客网在线测试。/*struct ListNode { int val; struct Lis...
2018-07-14 10:15:48
137
原创 剑指offer——链表中环的入口节点
题目描述:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路:1. 快慢指针。若有环,则肯定会在环中相遇。据此得到环中一点。2. 据环中一点,走一圈得到环的长度n.3. 快慢指针,快的先走n步,则快慢指针在环的入口节点处相遇代码:语言C++,已通过牛客网在线测试。/*struct ListNode { int val; struct ListNode ...
2018-07-13 09:54:46
170
原创 剑指offer——字符流中第一个不重复的字符
题目描述:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。如果当前字符流没有存在出现一次的字符,返回#字符。思路:字符占8位,最多有256种情况,可以作为数组的index。如数组array[char],char作为数组下标,数组值表示该...
2018-07-12 10:48:48
166
原创 剑指offer——表示数值的字符串
题目描述:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。思路:把正负号、'e' 'E'和点号单独拿出来考虑,找
2018-07-12 10:03:54
300
原创 剑指offer——正则表达式匹配
题目描述:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配。思路:递归解法,分情况讨论下一个字符是*时:分两种情况,if match, if not m...
2018-07-11 22:51:42
253
原创 剑指offer——构建乘积数组
题目描述:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。思路:画一个N*N的正方形 纵轴表示B 横轴表示A 对角线上的数字为无用数字。然后连乘,先计算下三角(从上到下),再计算上三角(从下向上)代码:语言C++,已通过牛客网在线测试。class...
2018-07-11 21:39:39
232
原创 剑指offer——数组中重复的数字
题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路:由于所有数字都在0到n-1的范围内,正好对应数组下标,故可用hash表来实现。时间复杂度O(n),查找时间复杂度O(1...
2018-07-11 21:36:25
131
原创 剑指offer——不用加减乘除做加法
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路:不用加减乘除做加法,首先想到位运算。计算加法主要解决两个问题:相加和进位。按位异或可以得到无进位的和;按位与用来计算需要进位的和,然后向高位进位,正好对应于左移。如5+7 = 0101+0111,先计算0101^0111=0010=2,再计算(0101&0111)<<1=0101<...
2018-07-11 10:23:55
155
原创 剑指offer——求1+2+···+n
题目描述:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路:此题主要解决的点是递归的终止条件,可以利用&&运算的短路特性。&&与运算性质:A && B 当A为真时,才计算右边,A为假时 右边不再计算。代码:语言C++,已通过牛客网在线测试。class S...
2018-07-10 14:33:30
149
原创 剑指offer——圆圈中最后剩下的数字
题目描述:0,1,...n-1这n个数字排成一个圆圈,从数字0开始每次依次从这个圈中删除第m个数字,求圆圈中最后剩下的数字。思路:还是用经典的环形链表解决。 1. 从0...n-1构建循环链表 2. 循环链表中依次删除第m个数字,此OJ中如m=2 则从0开始要删除012中的2,有第0个 3. 返回最后剩下的数字代码:语言C++,已通过牛客网在线测试。class Solution ...
2018-07-10 12:01:54
239
原创 剑指offer——扑克牌顺子
题目描述:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字(真实的输入其实只有数字0~13,无需自己转换)。思路: 1. 对数组进行排序 2. 遍历数组数字,统计0的数量;统计总间隔数,如01345则间隔为1;对子直接返回false。 3. 如果0的数目大于等于间隔数,则返回tr...
2018-07-10 10:33:48
132
原创 剑指offer——翻转单词顺序
题目描述:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。如输入"I am a student." 则输出" student. a am I"。思路:剑指offer给出的解决方案是首先全部翻转,然后再把单词翻转回去。其实可以不翻转单词,只按倒序排列单词即可。代码:语言C++,已通过慕课网在线测试class Solution {public:...
2018-07-09 15:11:15
264
原创 剑指offer——左旋转字符串
题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”思路:复制一份字符串,拼起来,然后从循环左移的位数开始取子串即可。代码:语言C++,已通过慕课网在线测试。class Soluti...
2018-07-09 11:45:31
101
原创 剑指offer——和为s的两个数字
和为s的两个数字题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。思路:附设两个索引,从数组的头尾开始找,按照等于、大于、小于分情况讨论。代码:语言C++,已通过慕课网在线测试。class Solution {public: vector<int> FindNumbersWithSum(v...
2018-07-09 11:01:27
109
原创 剑指offer——和为S的连续正数序列
和为S的连续正数序列题目描述:输入一个正数s,打印出所有和为s的连续正数序列。思路:设置两个数small big分别表示序列的最小值和最大值,若序列和等于s,打印输出;若大于s,减去small继续比较;若小于s,则加上big继续比较。代码:语言C++,已通过慕课网在线测试。class Solution {public: vector<vector<int> > F...
2018-07-09 10:45:54
116
原创 剑指offer——数组中只出现一次的数字
数组中只出现一次的数字题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:1.所有数组异或,得到结果中右边为1的位置2.根据此位是否为1将数字分为两组,这两个数字分别位于两组中,并且同一组中其他数字都重复出现。此位为1的数异或得到num1,此位为0的数异或得到num2原理方面,此题涉及关于异或运算的性质:1. 0^0=0, 1^0=1, 0^...
2018-07-09 09:51:23
135
原创 剑指offer——判断平衡二叉树
判断平衡二叉树题目描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。思路:递归解法。计算左右子树的深度,若深度差大于1,return false。代码:语言C++,已通过慕课网在线测试。class Solution {public: //递归方法,分别计算左右子树深度,若深度差大于1,return false bool IsBalanced_Solution(TreeNode*...
2018-07-08 19:37:25
172
原创 剑指offer——二叉树的深度
二叉树的深度题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路:递归解法,分别求左右子树的深度,返回两者更深的。代码:语言:C++,已通过慕课网在线测试。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; ...
2018-07-08 18:12:06
121
原创 剑指offer——数字在排序数组中出现的次数
数字在排序数组中出现的次数题目描述:统计一个数字在排序数组中出现的次数。思路:看到排序数组,首先想到折半查找。折半查找到数字k第一次和最后一次出现的位置。时间复杂度O(logn)。若书序查找,时间复杂度则为O(n)。代码:语言C++,已通过慕课网在线测试。class Solution {public: int GetNumberOfK(vector<int> dat...
2018-07-08 12:57:30
141
原创 剑指offer——两个链表的第一个公共节点
两个链表的第一个公共节点题目描述:输入两个链表,找出它们的第一个公共结点。思路:题目比较简单。首先求两个链表的长度,长的先走,然后一起走,找公共节点。时间复杂度O(n)。代码:语言C++,已通过慕课网在线测试。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL)...
2018-07-08 10:53:17
192
原创 剑指offer——数组中的逆序对
数组中的逆序对题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007思路利用归并排序的思想,在merge时,若 left[ i ] > right[ j ],由于左右均为有序,故 left [ i ...left.size-1] 均大于 ...
2018-07-08 09:53:59
115
原创 MikroTik RouterBoard 912G-2HnD调查报告
一、硬件介绍官方介绍:https://mikrotik.com/product/RB912UAG-2HPnD,RB912UAG-2HPnD是一种多功能设备。它是一个小型无线路由器,集成了2.4 gHz的高功率无线卡和另外一个802.11无线或3G卡的miniPCIe插槽。千兆端口有助于充分发挥802.11 n无线网速的潜力。综合无线卡可达1000mW的输出功率。它在以太网和MMCX端口上都
2018-06-27 09:09:51
1359
原创 编译LEDE-Openwrt系统
开发过程中,需要打开lede-openwrt的direct_IO选项,因此需要自己编译系统。记录一下。1. 安装依赖包开发环境为Ubuntu。安装编译依赖的包:(参见http://www.sohu.com/a/115102879_424963)sudo apt-get install build-essential subversiongit-core libn
2017-10-13 16:01:59
3327
1
原创 树莓派3+openwrt+nodogsplash实现portal认证
1. 更新opkg软件源 树莓派3代B型,openwrt系统安装见http://blog.youkuaiyun.com/u012327058/article/details/77856112。opkg软件源定义在/etc/opkg/distfeeds.conf(/etc/opkg.conf好像不起作用),或者在luci web界面System->software下修改软件源配置。一定要保证
2017-09-07 16:38:49
3457
原创 树莓派3安装openwrt打造无线路由器
1. 树莓派型号树莓派3代B型,1.2GHz,四核64位ARMv8 CortexA53 CPU(bcm2837)。了解处理器内核架构对后续操作系统版本的选择至关重要。2. 安装openwrt2.1下载系统镜像一开始按照网上的各种教程,安装了openwrt官网的openwrt-brcm2708-bcm2708-rpi-ext4-sdcard.img镜像,...
2017-09-05 20:50:39
21615
3
原创 数据包捕获与分析
本文介绍数据包的捕获与按照协议格式进行数据包分析。数据包捕获采用了libpcap抓包框架,能够分析IP、TCP、UDP、ARP、RARP等类型的数据包。一、数据包捕获数据包的捕获采用了libpcap函数库,下面介绍捕获过程中各函数的使用步骤。1. 获取网络接口char *pcap_lookupdev(char *errbuf)用于返回可被pcap_o
2017-06-20 10:04:06
5837
原创 Linux新手折腾笔记
1.安装虚拟机(VMvare)2.下载Linux系统镜像(Kali)并安装3.安装vim:sudo apt-get install vim 设置vim:syntax on 语法高亮;set nu 设置行号4.安装libpcap在http://www.tcpdump.org/下载libpcap解压./configuremake(出现错误Makefile:84:
2017-06-04 17:13:09
321
原创 安装那些事儿
XAMPP安装:小小折腾了一下,其实安装过程中软件一直有提示,要注意以下几个方面:安装前关闭杀软安装Microsoft Visual C++ 2008 Redistributable包不要安装至C:Program files(x86)目录
2017-06-04 17:02:07
551
Hands On Machine Learning with Scikit Learn and TensorFlow
2018-04-16
[Java编程艺术(中文版)].Herbert.Schildt.&.James.Holmes
2018-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人