- 博客(223)
- 资源 (3)
- 收藏
- 关注
原创 LeetCode 刷题之旅
本人菜鸡一枚,现在读北大硕士生,五百万coder中的一员,从今天开始刷LeetCode1000多道题,每天坚持刷5到8题,陆续会更新博客,欢迎大家及时批评指正,互喷互进,交流第一,有好的技术贴也会转载,愿大家共同进步!Program change the world , program make life better!...
2019-09-25 11:27:41 269
原创 leetcode107( 二叉树的层次遍历 II)
107. 二叉树的层次遍历 II/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL)...
2020-01-15 16:37:20 294
原创 leetcode102(二叉树的层次遍历)
二叉树的层次遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }...
2020-01-15 16:33:04 260
原创 leetcode144(二叉树的前序遍历)
二叉树的前序遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }...
2020-01-15 16:29:13 280
原创 leetcode94(二叉树的中序遍历)
二叉树的中序遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }...
2020-01-15 16:25:51 179
原创 leetcode145(二叉树的后序遍历)
二叉树的后序遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }...
2020-01-15 16:22:17 186
原创 leetcode257(二叉树所有路径)
二叉树所有路径*/C++解法/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL)...
2020-01-11 12:03:16 136
原创 leetcode226(翻转二叉树)
翻转二叉树/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; ...
2020-01-10 11:45:42 138
原创 leetcode112(路径总和)
路径总和/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; *...
2020-01-08 21:08:31 170
原创 leetcode111(二叉树的最小深度)
二叉树的最小深度/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }...
2020-01-08 15:12:34 161
原创 leetcode110(平衡二叉树)
平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。返回 false 。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * ...
2020-01-07 21:05:43 116
原创 leetcode104(二叉树的最大深度)
二叉树的最大深度/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }...
2020-01-07 10:40:59 139
原创 leetcode100(相同的树)
相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * T...
2020-01-07 10:29:30 132
原创 leetcode101(对称二叉树)
对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。/** * Definition f...
2020-01-07 10:20:57 158
原创 数字在排序数组中出现的次数
数字在排序数组中出现的次数题目描述统计一个数字在排序数组中出现的次数。*/C++class Solution {public: int GetNumberOfK(vector<int> data ,int k) { return biSearch(data,k+0.5)-biSearch(data,k-0.5); } int...
2020-01-02 22:22:58 120
原创 字符串全排列
字符串全排列题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。*/C++解法class Solution {public: vector<string> ...
2020-01-02 17:42:27 127
原创 栈的压入、弹出序列
栈的压入、弹出序列输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)*/C++解法class Solution {public: b...
2019-12-30 15:27:13 107
原创 leetcode5(最长回文子串)
最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”*/C++解法class Solution {public: string longestPalindrome(string s) {...
2019-12-27 11:41:00 94
原创 马拉车算法(Manacher's Algorithm)
马拉车算法这个马拉车算法 Manacher‘s Algorithm 是用来查找一个字符串的最长回文子串的线性方法,由一个叫 Manacher 的人在 1975 年发明的,这个方法的最大贡献是在于将时间复杂度提升到了线性,这是非常了不起的。对于回文串想必大家都不陌生,就是正读反读都一样的字符串,比如 “bob”, “level”, “noon” 等等,那么如何在一个字符串中找出最长回文子串呢,可以...
2019-12-26 18:31:58 286
原创 把数组排成最小的数
把数组排成最小的数输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。*/C++class Solution {public: static bool cmp(int a,int b){ string A=""; string ...
2019-12-25 17:41:09 102
原创 leetcode443(压缩字符串)
压缩字符串给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。进阶:你能否仅使用O(1) 空间解决问题?示例 1:输入:[“a”,“a”,“b”,“b”,“c”,“c”,“c”]输出:返回6,输入数组的前6个字符应该是:[“a”,“2”,“b”...
2019-12-25 17:37:25 119
原创 Leetcode345(反转字符串中的元音字母)
反转字符串中的元音字母编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: “hello”输出: “holle”示例 2:输入: “leetcode”输出: “leotcede”说明:元音字母不包含字母"y"。*/C++解法class Solution {public: string reverseVowels(string s) { ...
2019-12-25 17:33:26 109
原创 链表中环的入口结点
链表中环的入口结点给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ...
2019-12-23 17:49:41 78
原创 求1+2+3+...+n
求1+2+3+…+n求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。*/C++class Solution {public: int Sum_Solution(int n) { int ans = n; ans && (ans += Sum_S...
2019-12-23 11:38:04 165
原创 和为S的两个数字
和为S的两个数字输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。*/C++class Solution {public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { vector<i...
2019-12-23 11:35:52 98
原创 基于word2vec的QA demo
问答系统基于词向量的相似度计算,在问答对字典里返回最相近问题的答案# -*- coding: utf-8 -*-import docximport sysimport jiebafrom gensim.models import Word2Vecimport osimport numpy as npimport pickle as pkimport warningsimpo...
2019-12-23 10:10:13 388 2
原创 删除链表中重复的结点
删除链表中重复的结点在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5class Solution {public: ListNode* deleteDuplication(ListNode* pHead) ...
2019-12-18 16:07:50 86
原创 不用加减乘除做加法
不用加减乘除做加法写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。*/C++解法class Solution {public: int Add(int num1, int num2) { return num2 ? Add(num1^num2,(num1&num2)<<1) : num1; }};...
2019-12-17 19:19:56 90
原创 包含min函数的栈
包含min函数的栈定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。*/C++解法class Solution {public: stack<int> stack1,stack2; void push(int value) { stack1.push(value); ...
2019-12-17 19:17:16 92
原创 两个链表的第一个公共结点
两个链表的第一个公共结点输入两个链表,找出它们的第一个公共结点。*/C++解法/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* FindFirstCom...
2019-12-17 19:14:36 85
原创 剪绳子
剪绳子给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。请问k[0]xk[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。输入描述:输入一个数n,意义见题面。(2 <= n <= 60)输出描述:...
2019-12-16 22:29:41 85
原创 文章摘要生成(Summarizing Text with Amazon Reviews)
文章摘要生成数据集:Amazon 500000评论本节内容:•数据预处理•构建Seq2Seq模型•训练网络•测试效果seq2seq教程: https://github.com/j-min/tf_tutorial_plus/tree/master/RNN_seq2seq/contrib_seq2seqimport pandas as pdimport numpy as npimp...
2019-12-16 16:27:28 813
原创 Seq2Seq对输入单词字母排序
Seq2SeqRNN 网络结构LSTM网络结构机器翻译的历史Seq2Seq的应用Seq2Seq存在的问题Attention机制“高分辨率”聚焦在图片的某个特定区域并以“低分辨率”感知图像的周边区域的模式,通过大量实验证明,将attention机制应用在机器翻译,摘要生成,阅读理解等问题上,取得的成效显著关注输入序列中某些状态下的内容Bucket机制正常情况要对所有句子进...
2019-12-16 15:49:31 613
原创 基于Tensorflow里CNN文本分类
使用CNN进行文本分类卷积神经网络英文邮件分类语料simplistic , silly and tedious . it's so laddish and juvenile , only teenage boys could possibly find it funny . exploitative and largely devoid of the depth or sophis...
2019-12-16 11:46:50 921 1
原创 Tensorflow和Gensim里word2vec训练
Tensorflow里word2vec训练# -*- coding:utf-8 -*-import tensorflow as tfimport numpy as npimport mathimport collectionsimport pickle as pklfrom pprint import pprint#from pymongo import MongoClienti...
2019-12-16 11:17:38 455
原创 生成对抗网络GAN
一、判别模型和生成模型有监督的机器学习中,我们可以概述为通过很多有标记的数据,训练出一个模型,然后利用这个,对输入的X进行预测输出的Y。这个模型一般有两种:决策函数:Y=f(X)条件概率分布:P(Y|X)根据通过学习数据来获取这两种模型的方法,我们可以分为判别方法和生成方法 :判别方法由数据 直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即为判别模型。判别方...
2019-12-16 10:25:52 795
原创 顺时针打印矩阵
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.*/C++解法class Solution {public: vector<int> printMat...
2019-12-15 20:57:47 92
原创 基于bag of words 和 word2Vec 的影评情绪分类
基于bag of words 和 word2Vec 的影评情绪分类分别用词袋模型和Word2Vec模型提取特征进行LR二分类# -*- coding: utf-8 -*-'''基于词袋特征(bag of words)和词向量特征(word2vec)对影评情绪二分类'''import os import reimport numpy as npimport pandas as p...
2019-12-13 22:00:01 399
原创 合并两个排序的链表
合并两个排序的链表输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode...
2019-12-11 21:16:02 77
原创 LSTM_文本生成(text_generation)
1.文本生成(char)用LSTM做文本生成举个小小的例子,来看看LSTM是怎么玩的我们这里用温斯顿丘吉尔的人物传记作为我们的学习语料。# -*- coding: utf-8 -*-'''用RNN做文本生成,用温斯顿丘吉尔的人物传记作为我们的学习语料我们这里简单的文本预测是,给了前置的字母以后,下一个字母是谁?比如,importan,给出t,Winsto,给出n,Britai, 给...
2019-12-10 22:31:09 1877 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人