自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kang_TJU的博客

潮平两岸阔,风正一帆悬

  • 博客(28)
  • 收藏
  • 关注

原创 leetcode-463- Island Perimeter

题目题目:[Island Perimeter]思路指定边界规则:小心点是避免重复 对于任何一个点应该是判断四个方向: 为0,有一条 越界,有一条代码class Solution {public: int islandPerimeter(vector<vector<int>>& grid) { int row = grid.size(); if(!row

2016-12-30 09:27:27 407

原创 leetcode-448- Find All Numbers Disappeared in an Array

问题题目:[leetcode-448]思路设置标志数组,未出现的不置位。代码class Solution {public: vector<int> findDisappearedNumbers(vector<int>& nums) { std::vector<int> ret; int sz = nums.size(); if(!sz)

2016-12-29 19:50:10 487

原创 leetcode-412- Fizz Buzz

问题题目:[leetcode-412]思路枚举判断。代码/*3 : Fizz5:Buzz3&&5FizzBuzz*/class Solution {public: vector<string> fizzBuzz(int n) { std::vector<std::string> ret; for( int i = 1; i <= n; ++i )

2016-12-29 19:40:43 456

原创 leetcode-461-Hamming Distance

问题题目:[leetcode-461]思路由于题目限制了整数范围,所以肯定是4个字节。那么内存中表示就是4个字节。 所以,把十进制数字转换为二进制之后,进行比较即可。代码class Solution {public: int hammingDistance(int x, int y) { std::string left = decimal2binary(x);

2016-12-29 19:31:47 368

原创 leetcode-5-Longest Palindromic Substring 动态规划

问题题目:[leetcode-5]思路朴素的思路,暴力法。但是考虑从较长的串开始枚举。不过还是TLE.代码/*这次我还是暴力,但是从大串向小串枚举。之前的枚举思路导致TLE,这次的可能也导致。试试吧。*/class Solution {public: string longestPalindrome(string s) { int sz = s.size();

2016-12-28 12:39:18 940

原创 对于空间的理解

向量空间(线性空间)先放个链接[如何理解空间],这个链接对于如何理解向量空间有清晰的表达。道出其本质是规则的集合。这和数学上关于向量空间的定义是一样的。我们在学线性代数的时候,向量空间在数学上的“对应概念”就是集合。不同的集合,条件不一样,也就是规则不一样。那么对于空间的理解,就要看它定义了什么条件,它体现者什么规则。对于向量空间,需要理解如下概念:向量空间 1.1 向量空间的概念 1.2 向

2016-12-27 09:36:47 2727 1

原创 leetcode-60-Permutation Sequence

问题题目:[leetcode-60]思路当然,用之前枚举的方法可以。不过,不出所料,TLE。毕竟当 k = n时, T(n) = n! = O(n!)只能用另外的思路:这个问题牵扯到另外一个具体的问题。[全排列的编码与解码]可以参考这个链接,讲的比较清楚。我下文的内容也完全参照这个链接,只不过我再自己梳理一遍,两个例题即可。 本质还是利用了阶乘的公式:Fact( n ) = n * Fact( n

2016-12-26 15:12:38 297

原创 leetcode-14-Longest Common Prefix

问题题目:[leetcode-14]思路思路不难,和上一道题目不多。反正都是枚举子串。 注意前缀的定义,从首部开始的子串。必须要包含首部。比如abcd,前缀有ϵ\epsilon,a,ab,abc,abcd. 思路就是:所有子串的首部同时开始判断,如果有一个不相等。结束。代码/*前缀只能从首部开始,所以枚举所有子串的首部即可.*/class Solution {public: str

2016-12-26 11:13:26 409

原创 leetcode-3-LongestSubstringWithoutReaptingCharacters

问题题目:[leetcode-3]思路暴力法。枚举所有子串。按行枚举。 枚举以s[i]为头的所有子串,如果当前子串存在重复元素,跳出。i = i + 1; 注意hash表的清空操作。代码class Solution {public: int lengthOfLongestSubstring(string s) { int sz = s.size(); i

2016-12-25 21:10:15 430

原创 leetcode-2-AddTwoNumbers

问题题目:[leetcode-2]思路思路比较简单,但是不容易一次把所有情形考虑正确。大的框架是merge的思路。但是进位的处理要小心。最后在p,q都为空的情形再次处理进位。代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * Lis

2016-12-23 14:01:22 325

原创 leetcode-6-ZigZag Conversion

题目题目:[leetcode-6]思路这个题目的思路是把旧串的位置映射到新串的位置,把位置怎么走的,画个图就出来了。这个题目不难。 但是,我就想强调一点。做的时候,别着急,把思路理清楚了去做。不就很快出来了。一步一步来代码/*思路:这个题目的思路。旧串的位置映射到新串的位置。做的时候,别着急,把思路理清楚了去做。不就很快出来了。一步一步来嘛。*/class Solution {pub

2016-12-22 17:31:15 405

原创 leetcode-38-Count and Say 基础题

问题题目:[leetcode-38]思路1, 11, 21, 1211, 111221, …1 is read off as “one 1” or 11. 11 is read off as “two 1s” or 21. 21 is read off as “one 2, then one 1” or 1211.从样本来看,每一组的数字是在上一组数字的基础上获得的,所以原问题和子问题有关联,考

2016-12-21 22:36:10 458

原创 pythonNLP-文本相似度计算实验汇总

本文总结我写实验时文本相似度计算的代码。任务是:给定语料库,计算任意两篇语聊的相似度。输入是语料库,输出是整个语料库的相似度矩阵。基于LDA模型的文本相似度计算主要的过程如下:文本预处理过程训练LDA模型相似度计算结果保存下面分别去说。文本预处理过程(pre_process.py)#-*- coding:utf-8'''preprocess.py这个文件的作用是做文档预处理,讲每篇文

2016-12-20 23:19:06 10264 5

原创 pythonNLP-文本相似度计算-Demo

参照博客[我爱自然语言处理]里面的如何计算两个文本的相似度系列,把代码自己实现了一遍,对整个流程有了了解。纯属个人记录,新手想学习可直接去上面的博客学习,讲的非常好。代码#-*- coding:utf-8import gensimfrom gensim import corpora, models, similaritiesimport tracebackdocuments = [ "Shi

2016-12-20 15:53:21 6924

原创 leetcode-31-NextPermutation

问题题目:[leetcode-31]思路上来先来个STL的套路代码class Solution {public: void nextPermutation(vector<int>& nums) { std::next_permutation( nums.begin(), nums.end() ); }};

2016-12-18 09:54:44 429

原创 leetcode-47-Permutations II 搜索-剪枝

问题题目:[Permutations II]思路上来下来个简单的办法,STL套路。代码class Solution {public: vector<vector<int>> permuteUnique(vector<int>& nums) { std::vector< std::vector<int> > ret; std::sort( nums.begin(

2016-12-17 22:44:58 370

原创 leetcode-46-permutations 搜索

问题题目:[leetcode46]思路这个题目要说思路也不难,dfs就好了。每一层试探所有可能的元素,只要有一个满足条件,从这个元素继续dfs就行了。但是也有需要注意的点。剪枝的条件:当前层不能试探上一层试探过的元素。代码实现:建立哈希表,将当前层试探过的哈希表传递给下一层。当前层试探注意点:当前曾上一次的试探不能影响这一次的试探。因为每一层本质是只能有一个元素。所以,每一层的不同试探逻辑上是相

2016-12-17 20:56:07 392

原创 leetcode-344- Reverse String

问题题目:[Reverse String]思路回文。代码class Solution {public: string reverseString(string s) { return std::string( s.rbegin(), s.rend() ); }};

2016-12-16 18:09:22 401

原创 leetcode-9-palindrome 顺序表

问题题目:[leetcode-9]思路回文的思路,但是关键是不许借助额外空间。代码其实这么做,不符合要求。但是也过了。class Solution {public: bool isPalindrome(int x) { std::stringstream ss; ss << x; std::string ret; ss >>

2016-12-16 18:02:50 335

原创 leetcode-243-Palindrome Linked List

问题题目:[leetcode-243]思路回文的思路,借助一个栈保存以下反序序列。代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */

2016-12-16 17:03:03 318

原创 leetcode-125-Valid Palindrome 顺序表

问题题目:[leetcode-125]思路顺序表这块的思路,但是这个题目要忽略标点。并且不区分大小写,数字字母。class Solution {public: bool isPalindrome(string s) { if(s == "") return true; std::string ret; unsigned

2016-12-15 21:59:01 542

原创 大端机和小端机区别

问题大端机和小端机的区别。 深入理解计算机系统里面有如下的描述: 对于跨越多字节的对象,我们必须建立两个原则,这个对象的地址是什么以及存储器中如何排列这些字节。对于第一个问题,几乎在所有的机器上面,多字节对象都被存储为连续的字节序列,因此对象的地址为所使用字节中最小的地址。对于第二个问题,也称为字节序的问题。有两种存储方式。大端模式:数字逻辑高位存储在内存的物理低位小端模式:数字逻辑低位存储

2016-12-14 22:41:08 6458

原创 leetcode-119-基础题

问题题目:leetcode-119思路朴素的思路就是生成前indexNum行即可。代码class Solution {public: vector<int> getRow(int rowIndex) { std::vector< std::vector<int> > triangle( rowIndex + 1, std::vector<int>( rowIndex + 1

2016-12-13 22:18:22 631

原创 pythonNLP-Gensim安装

先贴个链接,这个是官方的安装教程:Gensim安装教程下面给出我的安装步骤。安装gensim的一些依赖项命令如下: sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose安装gensim s

2016-12-13 00:28:29 1000

原创 2016校招编程 lcs 动态规划

问题题目:[最长公共子序列]思路[参考这一篇]代码class LCS {public: int findLCS(string A, int n, string B, int m) { // write code here if( !n || !m ) return 0; std::vector< std::vector<i

2016-12-06 20:40:38 372

原创 python语言-It's better to ask forgiveness than permission

python编程中,对于这句话的理解。本质是两种不同的变成风格。当然,我知识看到了这个问题,查了查相关的解释。我本省对这个问题并没有很好的认识。所以,下文内容主要来自于stackoverflow的一段解释的搬运。我先附上[原帖的链接]问题描述Ask forgiveness, not permission” opposes two programming styles!“Ask for permis

2016-12-03 15:00:20 781

原创 Introduction to Programming with c++ 13-7 BinaryIO

这一目主要是对BinaryIO的一些基本概念坐下总结。代码虽然不难写,不过这些基本概念倒是值得好好理解理解。基本概念Files can be classified into text and binary.text file and binary file A file that can be processed(read, created or modified) using a text e

2016-12-01 22:40:15 376

原创 Introduction to Programming with c++ 13-5 File Open Modes

本目列出c++的文件打开模式。 Mode Descriptinon ios::in Opens a file for input ios::out Opens a file for output ios::app Appends all output to the end of the file ios::ate Opens a file for output.

2016-12-01 20:57:49 391

空空如也

空空如也

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

TA关注的人

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