自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (3)
  • 收藏
  • 关注

原创 github上传文件

github上传文件:参考地址github图片不显示:参考,但是我的要把第一行192.30.253.112 github.com 删掉

2020-10-02 11:28:49 169

原创 OneNote无法同步问题

OneNote发现无法同步,一直显示页面同步错误。然后想到最近每次只能通过开小飞机的软件才能正常上网,感觉是这个问题,于是先解决这个问题:帮助链接将下图中箭头指向的选项去掉。(我的是代理服务器那里,原来是勾选的)然后对于oneNote,如果要同步,就要先把vpn关掉,才能同步。...

2020-09-28 13:21:07 852

原创 DeepLizard学习笔记

DeepLizard:油管地址、对应博客笔记1. 创建tensor创建tensor的四种方法即不同:具体解释2. Tensor Operation TypesReshaping operationsElement-wise operationsReduction operationsAccess operations2.1 Reshaping operations常见reshape的操作 链接CNN最后一层的flatten操作()1)构建2)Flatten()这里我们

2020-08-30 09:23:07 1079

原创 图像检索相关知识点收集

BOW:图像检索:BoW图像检索原理与实战SIFT: SIFT特征详解cs231n学习资源:笔记和作业获取:知乎专栏(2017版本),对应官网2017版,但是笔记到第九节CNN就结束了视频:斯坦福2017季CS231n深度视觉识别课程视频...

2020-08-25 18:05:14 180

原创 从几何角度全新理解线性代数

油管上看到的非常好的一个线性代数教程(还有其他系列)油管链接B站也有的贴心不用上外网链接1. 矩阵与线性变化从线性变化的角度理解矩阵的意义。线性变化:可以看作对空间的挤压伸展。它保持网格线平行且等距分布,并且原点不变。怎样用数值描述线性变化:使用基向量。线性变换由它对空间的基向量的作用完全决定,因为其他任意向量都能表示为基向量的线性组合。在二维空间中,基向量就是i和j。矩阵实际是对向量做线性变化,矩阵的列看作变化后的基,把矩阵乘法看作它们的线性组合。如下图所示,如果要知道空间旋转90度

2020-08-25 18:02:29 2076

原创 529. 扫雷游戏

乍一看有点复杂,其实就完全按照每个规则实现就行。class Solution {private: int dx[8]={0,0,1,-1,1,1,-1,-1}; int dy[8]={1,-1,0,0,1,-1,1,-1}; int n,m;public: vector<vector<char>> updateBoard(vector<vector<char>>& board, vector<int&gt..

2020-08-20 23:16:20 132

原创 22. 括号生成

题目方法一:暴力暴力生成所有可能的括号组成,对于每个组成判断是否合理。class Solution { public List<String> generateParenthesis(int n) { List<String> res=new ArrayList<String>(); dfs(res,0,new char[2*n]); return res; } void dfs(List&

2020-08-14 23:50:51 150

原创 43. 字符串相乘

题目方法一:先乘法再加法按照平时做乘法的思路即可。这里比较巧妙的一点是,直接用字符形式做乘法和加法,对于移位问题,就通过填补0来直接处理。自己第一次做的时候就是因为没有想到这个方法,所以必须转为整数才能实现。class Solution { public String multiply(String num1, String num2) { if(num1.equals("0")||num2.equals("0")){ return "0";

2020-08-13 10:03:25 186

原创 133. 克隆图

深拷贝:对于一张图而言,它的深拷贝即构建一张与原图结构,值均一样的图,但是其中的节点不再是原来图节点的引用。因此,为了深拷贝出整张图,我们需要知道整张图的结构以及对应节点的值。由于题目只给了我们一个节点的引用,因此为了知道整张图的结构以及对应节点的值,我们需要从给定的节点出发,进行「图的遍历」,并在遍历的过程中完成图的深拷贝。/*// Definition for a Node.class Node { public int val; public List<Node>.

2020-08-12 08:27:37 123

原创 130. 被围绕的区域

题目这道题思路非常妙,采用了由边界向里面扩展的方法。题目要求是将非边界的0填充为x,与边界0直接或者间接相连的0不需要填充,如果直接判断0是否被包围是难以判断的,但是将所有边界0对应的0连通区域找出来是简单的,因此,可以从边界0出发,DFS判断每个连通区域,对其中的0进行标记,那么标记过的0就是不需要改为x的0。之后将未标记过的0改为x即可。class Solution {private: int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1};

2020-08-11 08:35:04 132

原创 99. 恢复二叉搜索树

二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。这道题的关键是找到两个被错误交换的节点。对于二叉搜索树,一定要把握住各个遍历对应的特征。二叉搜索树+中序遍历–> 可以得到一个有序数组。那么问题转化为:在一个有序数组中,将两个数交换后,怎样找到这两个数。例如,[1 2 3 4 5 6 7 8] ,如果变成 [1 2 6 4 5 3 7 8],那么这两个数的特点是 6>4,5>3。方法一:显示中序遍历因此,最直接的方法是:1)中序遍历得到有序数组2)

2020-08-10 08:40:31 124

原创 93. 复原IP地址

题目递归。官网解析如下:递归的编写水平还是太低了,主要还是思想上不到位。class Solution { static final int SEG_COUNT=4; List<String> ans=new ArrayList<String>(); int[] segment=new int[SEG_COUNT]; public List<String> restoreIpAddresses(String s) {

2020-08-10 07:29:35 158

原创 傅里叶级数与傅里叶变化

推荐学习:从傅立叶级数到傅立叶变换

2020-08-08 20:44:03 152

原创 336. 回文对

题目题解:class Solution { public boolean isPalindrome(String s, int left, int right) { int len = right - left + 1; for (int i = 0; i < len / 2; i++) { if (s.charAt(left + i) != s.charAt(right - i)) { retu

2020-08-08 09:35:20 155

原创 python命令行输入参数

Python中 sys.argv[]的用法简明解释Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数。python 之 分割参数getopt...

2020-08-05 16:29:49 491

原创 337. 打家劫舍 III

题目树上DP。对于树的一个节点开始,它的子树可以盗取的最大金额由它的两个状态组成:该点被盗,记为f(i)该点不被盗,记为g(i)则 fff 和 ggg 由其左右节点的状态决定:f(i)=node.val+g(l)+g(r)f(i)=node.val+g(l)+g(r)f(i)=node.val+g(l)+g(r)g(i)=maxg(i)=maxg(i)=max{f(l),g(l)}+max\lbrace f(l),g(l)\rbrace+max{f(l),g(l)}+max{f(r),g

2020-08-05 09:32:23 165

原创 AVL树、B树、B+树

自平衡二叉搜索树(AVL树)学习链接一个自动演示算法的网站B树(B-Tree)解释为什么要有B-Tree:漫画:什么是B-树?B-Tree构建过程:B - Tree Datastructure(需要外网)B-Tree定义:B-Tree is a self-balanced search tree in which every node contains multiple keys and has more than two children.对于B-Tree中order和degree的区分:

2020-08-03 10:58:57 293

原创 415. 字符串相加

题目这道题很简单,主要是对自己的丑代码和非常漂亮的代码做个对比,希望之后能向着这个方向努力。代码风格还是非常重要的。Java中要学会用StringBuffer,其中append方法可以对int,char,double等自动进行转换,转为符合字符串的条件。class Solution { public String addStrings(String num1, String num2) { int i = num1.length() - 1, j = num2.length(

2020-08-03 08:10:51 121

原创 114. 二叉树展开为链表

题目给定一个二叉树,原地将它展开为一个单链表。方法一:前序遍历递归前序遍历记录节点,然后重新展成单链表。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } *

2020-08-02 22:44:58 109

原创 JAVA基础笔记

一个很好的专栏:清浅池塘。就其中的学习到的JAVA零碎知识点做一个记录。1. == 和 equals 的区别======:当======两边是基本数据类型时,比较的是两边的两个值是否相等,当======两边是引用类型时比较的是两个内存地址,也可以看成是看这两个引用是否指向堆内存里的同一块地址(结合第三点JAVA数据类型使用)equals:数值型判断值是否相等,字符串会依次判断其中字符是否相等,因此在判断相等时要用equals(结合第六部分equals)2. 反编译文件学会查看反编译文件,可以看到j

2020-07-31 16:43:13 171

原创 Leetcode--二叉树合集(简单)

面试题 04.02. 最小高度树题目要使二叉搜索树高度最小,应该尽量平衡两边高度,当树中的任意结点的左右子树高度差都不超过 1 时,整棵树的深度最小 --> 即创建平衡二叉树。

2020-07-30 07:55:00 222

原创 5457. 和为奇数的子数组数目

题目这道题不知道为什么开始一直想不明白,看到前几名的大佬们都是几分钟就搞定了,日常感叹自己的菜啊…这道题主要使用前缀和。若到当前为止前缀和为奇数,那么前面有多少个前缀和为偶数的,当前就有多少个子数组和为奇数的(奇数+偶数=奇数);同理,若当前前缀和为偶数,则子数组和为奇数的个数=前缀和为奇数的个数。class Solution {public: int numOfSubarrays(vector<int>& arr) { long long even=0

2020-07-27 09:10:55 275

原创 github下载单个文件方法

下载 TortoiseSVN。具体操作知乎参考方法

2020-07-26 21:01:40 162

原创 329. 矩阵中的最长递增路径

题目参考思路:将矩阵看成一个有向图,每个单元格对应图中的一个节点,如果相邻的两个单元格的值不相等,则在相邻的两个单元格之间存在一条从较小值指向较大值的有向边。问题转化成在有向图中寻找最长路径。class Solution {public: static constexpr int dirs[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; int rows, columns; int longestIncreasingPath(vec

2020-07-26 12:23:25 119

原创 Leetcode--拓扑排序

207. 课程表题目拓扑排序典型题。采用逐步删除入度为0点的方法。class Solution {public: bool canFinish(int numCourses, vector<vector<int>>& prerequisites) { vector<vector<int>> d(numCourses); int n=prerequisites.size(); vector

2020-07-26 11:52:54 340

原创 410. 分割数组的最大值

题目给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。注意:数组长度 n 满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入: nums = [7,2,5,10,8] m = 2输出: 18很好的一道题,对于动态规划和二分查找都是比较经典的一种问法。<可惜菜菜子一个都没想到,还是要多练习才对啊(T_T)>方法一:动态规划「将数组分割为 m 段,求……」

2020-07-25 09:11:09 130

原创 机器学习入门过程

学习机器学习一段时间了,将学习过程做一个记录,主要还是记下遇到的很好的学习资源。

2020-07-24 12:33:57 101

原创 1025. 除数博弈

题目链接博弈题一般可以通过递推打表找规律。F【i】:数字为i时,先手的状态。则只要i可以通过一步j转化到F[i-j]为败的状态,F【i】就是胜的状态。打表可以看出来,如果N为奇数,先手败;N为偶数,先手胜。也可以通过数学推导和证明得出上述结论。class Solution {private: void dabiao(int N){ vector<bool> f(N+5,false); f[1]=false; f[2]=tru

2020-07-24 07:36:19 88

原创 Pytorch学习笔记

官方文档(英文)官方文档(中文)官方文档看到后面发现官方文档真的是最好的学习文档。首先从tutorial读起,其中有很多专题,很值得新手学习。1. Deep Learning with PyTorch: A 60 Minute BlitzNeutral Network–>代码解释2. Learning PyTorch with Examples链接这是对pytorch使用很基础的一篇介绍,非常适合入门看。看过的一些不错的文章:PyTorch 的 Autograd浅谈 PyTor

2020-07-23 19:51:26 123

原创 leetcode--trie树

208. 实现 Trie (模板题)题目class TrieNode{ boolean isWord; TrieNode[] children=new TrieNode[26]; TrieNode() {}}class Trie { TrieNode root; /** Initialize your data structure here. */ public Trie() { root=new TrieNode();

2020-07-19 20:40:00 139

原创 leetcode动态规划——字符串系列

139. 单词拆分题目给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true因为 “leetcode” 可以被拆分成 “leet code”。示例 2:输入: s = “applepenapp

2020-07-19 15:38:37 822

原创 312. 戳气球

题目官方题解这道题的思路真的非常好,如果正向考虑戳破气球,最大的困难是这个气球戳破后要消除,然后继续判断。因此,选择逆向思考:从无到有,考虑最后一个戳破的球球是哪个。更直接的方法就是题解中给出的方法一,记忆化递归,就是完全按照上面的这种做法得到最终答案的,而动态规划将这种递归方式用方程式表达。class Solution {public: int maxCoins(vector<int>& nums) { int n=nums.size();

2020-07-19 09:55:23 89

原创 leetcode动态规划--滚动数组

题目给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”输出: true示例 2:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc”输出: false动态规划。(这道题用动态规划确实是没有想到的)f(i,j):s1的前i个元素和s2的前j个元素能否交错组成s3的前i+j个元素。f(i,j) =

2020-07-18 08:25:31 265

原创 二分图

二分图定义:二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。简而言之,就是顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。785. 判断二分图题目对于图中的任意两个节点 u 和 v,如果它们之间有一条边直接相连,那么 u 和 v

2020-07-16 12:12:56 146

原创 矩阵快速幂

50. Pow(x, n)题目实现 pow(x, n) ,即计算 x 的 n 次幂函数。这里注意n的正反数越界问题。和leetcode 29. 两数相除这道题的注意点比较像,即当n取负数最小值时,其相反数会溢出。class Solution { public double myPow(double x, int n) { double ans=1.0; double xx=x; int sign=1; long N=(long)

2020-07-15 22:16:39 110

原创 罗马数字

12. 整数转罗马数字题目这道题开始想的非常复杂,不知道怎么处理I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。这样三种特殊情况,想着分类讨论。实际上,完全可以将这六个特殊字符和给出的七个字符合在一起,作为十三个字符一起讨论。讨论时,采用贪心的思想,从最大到小依次排列递减。具体看代码。clas

2020-07-15 22:00:43 277

原创 不同的二叉搜索树

给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树:题解要构建不同的二叉树,只要根节点不同,那么一定是不同的二叉树。因此,考虑以每个数值为根节点,构建左右子树不同的二叉树,最后可以得到所有二叉树。G(n): 长度为 n 的序列能构成的不同二叉搜索树的个数。F(i, n): 以 i 为根、序列长度为 n 的不同二叉搜索树个数 (1≤i≤n)。最后需要求得:G(n)其中,G(0)

2020-07-15 20:54:39 294

原创 leetcode 29. 两数相除

题目给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例 1:输入: dividend = 10, divisor = 3输出: 3解释: 10/3 = truncate(3.33333…) =truncate(

2020-07-14 23:55:16 680

原创 leetcode 120. 三角形最小路径和

题目给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是下标 与 上一层结点下标 相同等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3] ]这道题是很简单的一道DP题,这里主要是学习怎样将二维数组转化为一维数组。直接的二维DP:class Solution { public int minimumTotal(List<List<Integ

2020-07-14 22:39:08 96

原创 数组取交集

349. 两个数组的交集题目给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。方法一:set主要利用set去重。class Solution {public: vector<int> inter

2020-07-13 11:08:48 1226

n3-BTrees.pdf

网上看了许多B+ Tree的文章,都不是很清晰,后来看到的很好的一篇B+ Tree的文章,介绍的非常全面,希望和大家分享一下

2020-08-03

es-first.zip

一份可以运行的java代码操作es,主要是想自己保存下来,是跟着课程做好的。elasticsearch除了用kibana直接操作,也可以使用java端来操作,这样可以获取更多信息,也可以看到内部的操作。主要是pom依赖也要搞好。

2019-11-11

编译原理语法制导翻译及中间代码生成

提供语法制导翻译及中间代码生成,举例说明语法制导原理和概念,提供一些例题

2019-03-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除