自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Ruby On Rails简介

以下文字基本 都是 复制粘贴一些重点内容详情看文档吧:https://guides.rubyonrails.org/v2.3.11/getting_started.htmlhttps://ruby-china.github.io/rails-guides/Basics什么是Ruby“Rails is a web development framework written in the Ruby language. It is designed to make programming web ap

2020-07-30 07:28:04 418

原创 算法分析, 时间复杂度,和BIG O,OMEGA, THETA NOTATION

实验方法用Java的StopWatch数据类型,记录从创建对象到算法完成所需的时间程序在不同的计算机上运行时间之比通常是一个常数。我们可以用幂次法则,绘制标准图像和对数图像。标准图像X轴为问题规模(N),y轴为运行时间T(N)。而对数图像中,x轴就是lg(N),y轴是lg(T(N))。对数图像会是一条直线,等价于我们对数据符合公式T(N)=aN^b的猜想。数学模型:一个程序运行的总时间主要...

2020-03-15 03:35:21 2874

原创 联合-查找算法(Union-find),基本原理,代码思路,Java实现,以及LeetCode习题

什么是Union-Find解决这类问题:我和小红是校友,小红和小明是校友,我和小明是校友吗?基本原理参考离散数学中的等价关系:自反性,对称性,传递性。自反性:我和我自己是校友对称性:我和小红是校友,小红和我也是校友传递性:我和小红是校友,小红和小明是校友,我和小明也是校友。(问题解决了)代码思路假如我们要在一个由N个对象组成的集合中来找相互关系,我们可以创建一个长度为N的数组。一...

2020-03-14 06:51:29 578

原创 Trie:字典树(AKA单词查找树)的定义,性质,Java实现和算法分析

Ref:算法第四版Definition定义:Trie: a tree of characters, and we make it out of a dictionary.字典树就是一颗由字符组成的树,我们可以将它理解为一个字典,字典树也允许我们用被查找的String中的一个char来开始进行查找。这个数据结构的作用就是取出数据,基本功能包括二叉树的那些,譬如查找,插入。Side notes...

2020-03-11 15:00:45 268

原创 【刷题第三周】宽度优先搜索

200. Number of Islands 102. Binary Tree Level Order Traversal 107. Binary Tree Level Order Traversal II 637. Average of Levels in Binary Tree 111. Minimum Depth of Binary Tree107. Binary Tree ...

2020-03-01 10:53:04 198

原创 【刷题第二周】二叉树与分治法

1. Maximum Depth of Binary Tree 2. Balanced Binary Tree 3. Path Sum 4. Flatten Binary Tree to Linked List 5. Validate Binary Search Tree (M) 6. Nearest Common Anscestor (M) 7.104. Maximum De...

2020-02-22 15:48:24 209

原创 【刷题第一周】StrStr和二分查找习题汇总

StrStr Basics 1. StrStr实现 2. Subsets I, II 3. Permutations I, II 4. Combination Sum递归模板Binary Search 1. Search in rotated sorted array 2. Find peak element 3. Peak Index in a Mountain Arra...

2020-02-19 03:39:45 104

原创 [7/9]双指针Leetcode和LintCode习题[to be finished]

1. Window Sum 2. Remove Duplicates 3. Remove Zeroes 4. Valid Palindrome - too easy 5. Rotate String 6. Recover Rotated Sorted Array 7. Two Sum - Less Than Or Equal To Target 8. Two Sum - Grea...

2020-01-13 06:22:59 194

原创 解题报告 60. Permutation Sequence [难]

60. Permutation Sequence总结概括自己对于这道题难度打分: 难这道题花费的时间: 很久…本题提交了几次: 2, Time Limit Exceed一句话评价本题: 巧妙的数学…要一个factorial数组,一个list记录所有的数字(1到n)。主要是先找到第k个排列是以哪个数字开头,然后再从后往前确定是开头数字之后是什么顺序。题目分析描述题意:返回1-n数组中第...

2020-01-08 05:09:09 85

原创 [4/9] 解题报告 宽度优先BFS作业题

200. Number of Islands总结概括自己对于这道题难度打分: medium,不会模板很麻烦这道题花费的时间:30min本题提交了几次:2一句话评价本题:中等难度,会模板就没有问题;不同于二叉树的宽度优先搜索,这题是简单版的图像BFS。题目分析描述题意:给一个2Darray,求所有岛屿的数量。岛屿的意思就是connected的’1’,上下左右相连就算connected,...

2020-01-05 10:39:39 120

原创 Topological Sorting 拓扑排序系列题目/课程表/宽度优先

LintCode 127. Topological Sorting题目链接给定一个有向图,图节点的拓扑排序定义如下:对于图中的每一条有向边 A -> B , 在拓扑排序中A一定在B之前.拓扑排序中的第一个节点可以是图中的任何一个没有其他节点指向它的节点.针对给定的有向图找到任意一种拓扑排序的顺序.思路:首先要找到starting node,也就是in-degree = 0...

2020-01-03 15:08:18 152

原创 解题报告 二叉树的traversal汇总 - 持续更新

102. Binary Tree Level Order Traversal总结概括自己对于这道题难度打分: 10%这道题花费的时间: 15min本题提交了几次:刚开始忘记考虑root==null了,吃了一个runtime error一句话评价本题:有模板就没问题,自己肯定写不出题目分析描述题意:基本操作之Binary Tree Level Order Traversal第一思路...

2019-12-31 06:03:07 100

原创 解题报告 103. Binary Tree Zigzag Level Order Traversal

总结概括自己对于这道题难度打分:50%这道题花费的时间:30min本题提交了几次: 1次,跪了一句话评价本题:not hard but takes practice to recognize the best way题目分析描述题意: 根据第一行从左至右,第二行从右至左,第三行从左至右这种顺序来遍历一个二叉树。要return一个list of list。第一思路是什么: BFS, 用...

2019-12-31 02:26:13 94

原创 [错题记录]113. Path Sum II

写的时候没注意在一条路到达root的时候还能删掉往其他地方走(其实就是dfs,但是当时无脑直接return)。如果是求boolean结果(有没有such path sum),即可以return true。在DFS的时候一定要注意要找all of the possible values。????加油~~~~...

2019-12-25 13:59:06 93

原创 Minimum Subtree 二叉树分治法例题

给一个二叉树,要找和尽量小的subtree。private TreeNode subTree = null; //用于记载最小的subtree的根结点private int subTreeSum = Integer.MAX_VALUE;public TreeNode findSubTree (TreeNode root){ subTreeSum = helper(root); retu...

2019-12-25 11:54:07 145

原创 448. Find All Numbers Disappeared in an Array

题目链接:https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/题目要求是在一个array里面找到没有出现的数字。给定一个长度为n的array,这个数组是应该由1~n数字组成的。譬如一个长度为4的数组,理应是[1,2,3,4]。但是可能given的array是[1,2,2,2],题目就是要把没出现过的[3...

2019-12-16 13:56:22 80

原创 【LeetCode】106. Construct Binary Tree from Inorder and Postorder Traversal 递归解析

呵呵呵呵这个题真的花了很久才懂!题目给了两个数组,分别是:inorder = [9,3,15,20,7](3左边是左子树,右边是右子树;“20”同理:15是左子树,7是右子树。)postorder = [9,15,7,20,3] (左子树 右子树 根结点)要我们建立一棵这样的树。在做所有的事情之前,首先创建一个hashmap,存inorder里面的每个元素的index。规律:第一,p...

2019-08-08 03:23:33 116

原创 Selenium - ERROR [Hub.start] - Port 4444 is busy, please choose a free port for the hub and specify

kill -9 $(lsof -ti tcp:4444)Kii anything on port 4444

2019-08-07 21:56:09 2549 1

原创 Error: Unable to access jarfile selenium-server-standalone-3.141.59.jar

Solution:切换到selenium-server-standalone-3.141.59.jar所在的文件夹就可以了。之前一直在桌面call这个command,就一直无法成功…sounds easy but people get stupid sometimes

2019-08-07 11:35:42 2318

原创 Python爬虫 - 用BeautifulSoup爬取CoreyMS博客的内容和视频地址到csv文件

from bs4 import BeautifulSoupimport requestsimport csvsource = requests.get("https://coreyms.com/").textsoup = BeautifulSoup(source, 'lxml')csv_file = open('scraping_coreyms.csv', 'w')csv_wri...

2019-08-01 11:38:57 266

原创 【LeetCode】计算器系列题目

Add 2 numbers没啥技巧,要注意edge case。[5]+[5]这种情况没有把握好,应该always记得append还没加完的进位的数字!if (add > 0){ //Something did not finish curr.next = new ListNode (add); }而且从白板上抄到电脑里不要写错hhhhh(yep...

2019-07-28 03:59:13 97

原创 【LeetCode】String题集合

寻找最长没有重复字母的substringNote that BF will take too much time!这题的特点在于如果出现一次重复就可以直接从重复的那个字符开始继续往后面搜,那么就可以用一个HashMap来存每个字母的last occurence。记录下前面的non-repeated substring的长度,update the result number iff anoth...

2019-07-28 03:54:32 88

原创 【LeetCode】第二次mock interview

788 Rotate Digitshttps://leetcode.com/problems/rotated-digits/这个题在MI过程中我想到了要用dp,因为n+1就是在n的基础上判断多出来的数字的valid的情况。但是实在是没有太懂这个题目(做完看别人的dp发现还挺难想出来的。。吼吼吼。。),于是英雄交白卷了(orz)。后来借鉴博主(https://www.cnblogs.com/gr...

2019-07-22 06:43:25 360

原创 【LeetCode】第一次mock interview

653 - Two Sum IV - Input is a BSThttps://leetcode.com/problems/two-sum-iv-input-is-a-bst/第一题edge case没过,心想着找到target就是在现在traverse的node的value上找到其与target的相差,然后在整个树里找相差,虽然时间是慢了点,但是就是我当时能想出来的唯一办法了orz。。结果...

2019-07-22 01:36:49 272

原创 Conditional Random Fields & Conditional Neural Fields 读论文总结(2)

CNF - 神经网络和对线数性模型的结合:虽然CRF(Conditional Random Fields)已经在自然语言处理和生物分析中广泛运用,核心是用一个线性方程在表现输入和输出之间的关系,但是在实际运用中,输入和输出的联系并不是线性的,这个关系可能会十分复杂, 所以应该使用CNF。CNF是CRF的一种提高版本:在输入和输出之间加一或多层layer;意思就是说这个中间层可以含有很多gate...

2019-07-18 02:36:41 304

原创 读Opinion Spam论文总结(1)【Collective Opinion Spam Detection: Bridging Review Networks and Metadata】

论文地址:http://shebuti.com/wp-content/uploads/2016/06/15-kdd-collectiveopinionspam.pdfAbstractOnline reviews capture the testimonials of “real” people and help shape the decisions of other consumers. ...

2019-07-11 03:36:13 1028 7

原创 C++ Final Study Guide Chap 14, 15

Chapter 14 - Static Member variables and Copy ConstructorsDo you know the difference between a static and a non-static member of a class?Do you understand the difference between a copy constructor,...

2019-03-19 06:08:51 199

原创 LeetCode456. 132 Pattern 使用Stack,java实现

题目要求:在一个数组中查找三个数,要求这三个数呈[1,3,2]的大小排列。也就是说,这三个数第一个数是最小值,中间的数是最大值,最后一个数是中间值。要注意的是这三个数字在原数组中不一定要是紧紧相邻的,中间可以相隔很多数字。思路:创建一个stack来存储一个从顶到低依次上升的数列,这就是可能成为[3]对应数的数字。变量middle:用于存储中间值,每次都要随着loop跟数组上的数字比较,如果...

2019-03-09 11:05:49 214

原创 LeetCode 263. Ugly Number && 264. Ugly Number II用java实现丑数的判定与查找

原题链接:https://leetcode.com/problems/ugly-number/https://leetcode.com/problems/ugly-number-ii/Ugly numbers are positive numbers whose prime factors only include 2, 3, 5.丑数的定义:一个数字只有2,3,5三个质因子。1也是丑...

2019-02-25 05:14:01 178

原创 LeetCode 416. Partition Equal Subset Sum 动态规划解题日记

题意:给你一个数组,要你判断这个数组是否可以被切分成两个和相同的子数组。本题跟昨天post的找零钱有一些相似。注意:dp[j] = dp[j] || dp[j-nums[i]] 这句话的意思是,我们要判断是否可以通过nums里面的数字凑到j。随着i增加,dp[j-nums[i]]就在检查每一个nums里面的nums[i]是不是可以在原有的基础上加nums[i]得到j。也就是说,如果nums[i]...

2019-02-20 02:46:51 197

原创 LeetCode 394. Decode String java解题反思:利用双Stack和stringbuilder

题目:https://leetcode.com/problems/decode-string/我在脑子里decode这个题目的时候已经感觉到他是一层一层的、应该从里而外地分解开来。想了很久,一直都是想把char一个个地放入stack里面。然而…并非如此,我们应该开两个stack,一个用来存字符串,一个用来存某字符串重复的次数。因为每一个整数所对应的字符串都是紧邻着他的’]‘开始,到相应的’]...

2019-02-19 14:52:06 124

原创 LeetCode 322. Coin Change找零钱 动态规划 java

You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money...

2019-02-19 12:13:53 306

原创 LeetCode 70. Climbing Stairs 动态规划java解题日记

什么是动态规划Dynamic programming, like the divide-and-conquer method, solves problems by combining the solutions to subproblems.在Introduction to algorithms中,书里提到When developing a dynamic-programming algo...

2019-02-19 11:54:35 114 2

原创 C++入门易错点:输入输出格式、cmath头文件、生成随机数易错点、switch、scope、文件读写

关于C++,小白应该知道的那些细节说在前面关于C++与JavaC++入门须知规范用户的输入Formatting outputCMATH头文件生成随机数The Switch StatementScope与变量的重名字关于读取/写入文件关于Vectors生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新...

2019-02-12 05:58:06 503

原创 C++特殊的数据结构:struct

什么是structstruct是一种c++的数据结构,与class很相似。但是class具有一些struct不具有的特性,比如继承。struct主要用于存储一组数据,而class存储数据的同时也可以写入一些函数(methods)。Definition示例:struct Student {int id;string name;double gpa;}; //注意有分号struct允...

2019-02-11 13:51:53 306

原创 C++迷人的指针

指针基础什么是地址计算机内存中每个byte都会有一个独特的地址,一个变量的地址指的是该变量第一个byte的地址。char为一个byte,short有两个byte,float有四个byte。Address Operator&就是获取地址的符号。指针变量指针主要用于动态内存分配:当你的程序无法得知数据的大小的时候,最好的办法就是用动态内存分配去新建变量、数组、数据结构。创建指针...

2019-02-11 08:02:01 98

原创 C++入门笔记:当我们面向对象的时候我们到底在面对什么?

我怎么才可以有一个对象呢对象和类:其实在你定义第一个string字符串的时候,你就不知不觉地拥有了对象:你定义了一个string类的string对象。你也可以自己创建对象类型,一般通过三个文件来实现。人类就是一个类,一个人就人类这个class的一个对象。main.cpp这则是我们学习面对对象之前一直在使用的main方程,每个程序只可以有一个main方程。在main方程中,我们可以创建...

2019-02-10 06:55:55 116

原创 C++入门笔记:Vectors

关于VectorsSimilar to java ArrayList.C++的standard template library提供vector数据类型,而vector是一种container。container分为两种,sequence container将数据像array一样排列好;而associate container可以让程序员直接获得elements stored in t...

2019-02-10 03:32:59 127

原创 关于递归、回溯算法的思考

关于递归、回溯算法的思考一堆废话:记得第一次看递归的时候,看例子都满脑子浆糊。在LeetCode上做到combination sum, subsets系列的问题,从刚开始时的毫无思路,到现在知道要用递归并且有回溯的模板,但就是写不出来。学而不思则罔,所以现在打算写一篇小文章来总结、思考。用自己喜欢的方式解读递归一个例子:Java代码如下public class Recursion {...

2019-02-08 15:17:55 196

空空如也

空空如也

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

TA关注的人

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