自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 fasttext做文本分类阶段性学习总结

fasttext做文本分类阶段性学习总结预备知识logistic回归与softmax回归logistic回归sigmoid函数决策边界使用fasttext对文本进行分类预备知识logistic回归与softmax回归logistic回归logistic回归是一种有监督的统计学习方法,主要用于对样本进行分类。对于监督学习问题而言,常常会给定数据以及数据对应的标签值。比如我们可以通过logis...

2019-02-25 19:39:54 819

原创 数字转换成excel字母

数字转换成excel字母给定正整数,返回Excel工作表中显示的相应的列。【例如】 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ...解题算法 -- accept对n进行n%26去余再n/26,得0-25个数,即A-Z...

2019-04-16 14:46:31 867

原创 简单工厂模式学习笔记

简单工厂模式学习什么是简单工厂模式?简单工厂模式实例解析模式优缺点参考什么是简单工厂模式?简单工厂模式在实际项目中非常常见,是一种比较好的编程习惯。它的特点用一句话概括就是:"当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,创建细节无需知道。"举个例子:如果一个软件系统可以提供多个外观不同的水果按钮(如苹果按钮、橙子按钮、香蕉按钮),如下图,这些按钮都源自一个基类,...

2019-02-28 12:49:29 326

原创 单例模式学习笔记-两种经典实现及单/多线程环境的验证

单例模式学习笔记-两种经典实现及单/多线程环境的验证理解什么是单例模式?定义功能两种经典单例--饿汉式&&懒汉式单线程下的两种单例方式实现单线程-饿汉式单线程-懒汉式多线程模式下两种单例模式的实现参考什么是单例模式?定义确保一个类只有一个实例(也就是类的对象)并且提供一个全局的访问点(外部通过这个访问点来访问该类的唯一实例)。功能使得类的一个对象成为系统中的唯一实例...

2019-02-27 18:17:23 424

转载 python2.7中的UnicodeDecodeError: 'ascii' codec can't decode byte 0

使用ez_setup.py安装setuptools报错如下Traceback (most recent call last): File "httpservice.py", line 5, in <module> import SimpleHTTPServer File "C:\Python27\lib\SimpleHTTPServer.py", line 2...

2019-02-26 19:51:52 1181

原创 python 解析xml文件 -- xmltodict

待解析的xml文件<?xml version="1.0" encoding="UTF-8"?><!--GrmBasicInfoRecord--><BasicInfoRecordList> <BasicInfoRecord> <AAAAA>100652</AAAAA> <BBBB

2019-02-22 12:53:04 960

原创 shell对xml文件操作(更新属性值+以当前日期重命名)

shell对xml文件操作(更新属性值+以当前日期重命名)xml示例文件修改xml文件的shell脚本xml示例文件本文代码将以下面文件名为Crm运行信息_20190222103001.xml 的文件为例做说明。<?xml version="1.0" encoding="UTF-8"?><!-- Base_station_ICT -->&a

2019-02-22 12:35:46 1742 1

转载 【转】并行计算之OpenMP入门简介

在上一篇文章中介绍了并行计算的基础概念,也顺便介绍了OpenMP。       OpenMP(Open Multi-Processing)是一套支持跨平台共享内存方式的多线程并发的编程API,使用C,C++和Fortran语言,可以在大多数的处理器体系和操作系统中运行,  OpenMp提供了对于并行描述的高层抽象,降低了并行编程的难度和复杂度,这样程序员可以把更多的精力投入到并行算法本身,...

2018-12-05 17:14:46 301

原创 shell 文件操作

shell文件操作遍历目录下的文件(包含子目录)遍历目录下的文件(无子目录),对文件做awk切分,取列数据遍历目录下的文件(包含子目录)#! /bin/bashfunction read_dir(){ for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令 do if [ -d $1"/"$file ] #注意此处之间...

2018-11-29 17:35:27 719

原创 python 文件操作

python 文件操作对大文件做shuf的情况open函数参数扩展:在某目录下创建/写文件多层目录下对文件的遍历参考资料对大文件做shuf的情况在实际项目中,若遇到大文件,比如下述代码中的data.txt,是一个大小超过200G的文件,若对该文件的所有数据做洗牌(shuf),很容易造成内存崩溃,程序被强制退出。在这种情况下,可以先取出大文件行号,对行号做shuf,再将行号对应的行数据对应写入新...

2018-11-28 15:54:31 351

转载 Markdown 语法标记

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2018-11-28 14:24:28 819

原创 python 画图---在linux下做图片保存

python 画图---在linux环境下需要用到的库1、散点图2、直方图需要用到的库# -*- coding: utf-8 -*-import matplotlibmatplotlib.use('agg')import matplotlib.pyplot as plt这里的 matplotlib.use(‘agg’) 是用来导出图片文件的1、散点图import numpy as...

2018-11-26 17:31:18 5034

原创 二叉排序树转变成排序的双向链表

一、问题描述输入一棵二叉查找树,将该二叉查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。【举例】     10    /   \  6     14 /  \     /  \4   8 12 16 转换成双向链表4=6=8=10=12=14=16二、解题思路题目要求不能创建任何新的结点,只需要调整指针的指向,那么就意味着可直接利用二叉树...

2018-10-25 22:06:59 594

原创 字符串A中删除字符串B中所有字符

一、问题描述输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入A串”They are students.”和B串”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”二、问题分析此题分为两个部分来解答    1)查找在A串中出现的B串字符    2)删除A串中的字符对于第1)个问题,能做到快速查找的方法是二分和哈希,这里明显用哈希更合适,...

2018-10-22 23:47:18 5335

原创 最长公共子串(连续)/子序列(不连续)

一、题目描述1、【最长公共子串】计算两个字符串的最长公共子串的长度,字符不区分大小写假设 X 和 Y 的序列如下:X[1...m] = {a,s,d,f,a,s,r}Y[1...n] = {w,e,r,a,s,d,f,a,s,w,e,r}可以看出,X 和 Y 的最长公共子串为 “a,s,d,f,a,s”,即长度为62、【最长公共子序列】给定两个序列:X[1...m]和Y[...

2018-10-22 17:28:54 1674

原创 最长非连续/连续递减子序列

一、题目描述【题1】求一个数组的最长非连续递减子序列【题2】求一个数组的最长连续递减子序列二、解题思路【题1】采用动态规划的思想,设dp[i]为以i为终点元素的递减子序列长度,则递推公式为:dp[i] = max(dp[j]+1,dp[i]) (j<i && array[j]>array[i])【题2】用两个游标start和end分别记录连续递减子...

2018-10-21 20:34:09 1523

原创 【二分查找】原型和变种以及相关思考

一、写在前面的话笔者在面一家非常NB的互联网公司时,面到了二分查找的变种题,回来后对这个看似简单的二分查找做了深入的思考,可能也不算深入,但至少比之前是更加领教了它的厉害。每一次面试都会带来不一样的思维启迪,面完这家公司带给我最大的启迪就是学算法不止学它本身,应该看到它的边界和可扩展性,经常想想这些好的经典算法,让它融入到自己潜意识里,才算真正掌握。话不多说,开始上干货。二、二分查找原型...

2018-09-07 08:50:50 685

原创 65-滑动窗口

一、题目描述给定一个数组和滑动窗口大小,请找出所有滑动窗口里的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小为3,那么一共存在6个滑动窗口,它们的最大值分别为{4,4,6,6,6,5}二、解题思路申请一个windowMax数组,用来存放每一个窗口下的最大值申请一个两端开口的队列,用来保存可能为滑动窗口中最大值的下标,这个队列的特点在于:    1)队...

2018-09-07 08:50:15 146

原创 21-实现带有min函数的栈和队列

一、题目描述【带有min函数的栈】实现一个栈,带有入栈(Push),出栈(Pop),取最小元素(getMin)三个方法。要保证三个方法的时间复杂度都尽可能小【带有min函数的队列】实现一个队列,带有出队(deQueue),入队(enQueue),取最小元素(getMin)三个方法。要保证三个方法的时间复杂度都尽可能小二、解题思路【带有min函数的栈】思路思路一:额外申请...

2018-09-02 19:39:01 679 2

原创 64-字符串中有效数值的判定-含科学计数数

一、题目描述请实现一个函数用来判断是否表示数值(包括整数和小数)例如:字符串:“+100”、“5e2”、“-123”、“3.1416”、“-1E-16”都表示数值字符串:“12e”、“la3.14”、“1.2.3”、“+-5”、以及"12e+5.4"都不是二、解题思路不考虑字符串有多余空格的前提下,此题主要关注点如下:1)字符串开头可能会有“+”或者“-”号2)处理完1)之后...

2018-08-26 18:45:19 380

原创 字典序排序

一、题目描述给1000个人名字符串,如:raina tina anne....将这些人名按字典顺序排序二、解题思路字典顺序就是按a b c d顺序,对字符串排列,可以直接用strcmp实现三、解题算法/*****************************************author:tmwdate:2018-8-26********************...

2018-08-26 12:53:29 613

原创 11-数值的整数次方

一、题目描述实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题二、解题思路在不考虑大数问题下,此题还需要考虑的点包括:1)底数为0 并且 指数为负数 -- 分母不能为0 --> 需要有错误标识2)指数为负数时,结果需要取倒为了提高运算效率,在求次方运算时,不使用f...

2018-08-26 12:01:59 125

原创 53-正则表达式匹配

一、题目描述实现正则表达式匹配,支持'.' 和'*';‘.’:匹配任何单个字符。 '*':匹配零个或多个前面的元素。匹配应覆盖整个输入字符串(不是部分)。函数原型应该是:bool isMatch(char* s, char* p)    s可以是空的并且只包含小写字母a-z。    p可以是空的并且只包含小写字母a-z和字符.要么*。二、题意分析Input:s = "m...

2018-08-24 17:17:14 138

原创 50-求树中两个结点的最低公共祖先(多种解法扩展)

一、题目描述【题型一】输入一个树的两个结点,限定该树为二叉搜索树,求这两个结点的最低公共祖先(最低父亲结点)【题型二】输入一个树的两个结点,该树为普通树,求这两个结点的最低公共祖先(最低父亲结点),ps:树中每个节点有parent(三叉链)【题型三】输入一个树的两个结点,该树为普通树,求这两个结点的最低公共祖先(最低父亲结点)限定条件:该树不存在指向父结点的指针二、解题思路【题...

2018-08-21 21:04:18 268

原创 字典序的应用

一、题目描述输入n,m,k,表示n个“a”字符,m个“z”字符组成一个字符串,要求出字典序从低到高组成的第k个字符串是什么?【举例】n = 2,m = 2,k = 6则该字符串构成的字典序排列为:aazz azaz azza zaaz zaza zzaa第6个字符串为:zzaa二、题目分析1)C语言自己写全排列程序2)使用C++库里的next_permutati...

2018-08-11 17:55:36 425

原创 39-判断二叉树是否为平衡二叉树【树的深度&后序遍历】

一、问题描述输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。二、解题思路思路一:先递归求各结点的深度,根据深度做差值,根据差值判断是否为平衡二叉树思路二:后序遍历二叉树,在遍历的同时记录深度---避免思路一的重复计算三、解题算法1、思路1:根据深度求差值/******************...

2018-08-09 09:16:28 822

原创 41-找和为sum的连续正数序列

一、题目描述输入一个正数sum,打印出所有和为sum的连续正数序列(至少含有两个数),例如输入15,由于1+2+3+4+5=4+5+6=7+8,所以结果打印出三个连续序列1~5、4~6和7~8二、解题思路该题的特殊点在于,找的是一个递增的连续序列,基本思路如下:1)设定两个参数small和big用于分别表示最小值和最大值,根据题目的特点,将small初始化为1,big初始化为22)...

2018-08-07 22:35:43 270

原创 40-找数组中只出现奇数次的n个数字(n=1,2)

一、题目描述题目一:一个整型数组里除了1个数字之外,其他的数字都出现了偶数次,找出这个数字,要求时间复杂度O(n),空间复杂度O(1)题目二:一个整型数组里除了2个数字之外,其他的数字都出现了偶数次,找出这两个数字,要求时间复杂度O(n),空间复杂度O(1)二、解题思路题目一:异或运算,偶数个一样的数异或为0,异或符合交换律,所以只需要把所有数组中所有数字异或一次就可以了题目二:整...

2018-08-07 21:24:04 572

原创 36-归并排序找逆序对

一、问题描述在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数二、解题思路使用归并排序实现逆序对的求解三、解题算法/************************************************author:tmwdate:2018-8-4**********************...

2018-08-04 18:45:51 233

原创 35-求字符串中第一个只出现一次的字符

一、问题描述在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'二、解题思路构建一个哈希表,其中键用来存这个字符信息,值用来记录该值出现的次数需要遍历两次这个字符串第一次遍历:构建哈希表  ---O(n)时间复杂度第二次遍历:哈希表的查找---O(1)时间复杂度三、解题算法/**********************************...

2018-08-04 17:37:37 155

原创 34-丑数

一、问题描述我们把只包含因子2、3和5的数称作丑数,求按从小到大的顺序的第1500个丑数。例如6、8是丑数,但是14不是,因为它包含因子7.习惯上我们把1当做第一个丑数二、解题思路解法一:逐个判断数字是否为丑数解法二:构建一个丑数数组,返回第1499位置上的元素三、解题算法解法一:逐个判断数字是否为丑数/*********************************...

2018-08-04 16:39:17 114

转载 Skip List(跳跃表)原理详解

为什么选择跳跃表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis 和 LevelDB 都有用到它,它的...

2018-07-14 11:49:42 1368

原创 二叉树路径和--只记录和&记录路径

一、问题描述1、只记录和给定一棵二叉树和一个和,确定树是否有从根到叶的路径,使得沿路径加起来的所有值等于给定的总和。【示例】给定下面的二叉树 以及待求和 sum = 22,          5        /   \      4     8     /     /  \   11  13   4   /  \     \ 7    2      1返回 true, 因为存在一个从根到叶的路径...

2018-07-08 12:37:58 1148

原创 有效回文判断--忽略其他字符

题目描述给定一个字符串,确定它是否是回文,只考虑字母、数字并忽略其他字符情况。 例如, ”A man, a plan, a canal: Panama” 是一个回文。 “race a car”不是回文。 ps:空字符串定义为有效的回文。解题思路构建两个指针,一头一尾夹逼解题算法/******************************************...

2018-07-08 12:11:54 307

原创 最长公共前缀

一、题目描述编写一个函数来查找字符串数组中最长的公共前缀字符串。如果没有共同的前缀,则返回一个空字符串“”。【示例】Input: ["flower","flow","flight"]Output: "fl"Input: ["dog","racecar","car"]Output: ""二、解题思路1、方法一:纵向比较    类深度优先,先遍历所有字符

2018-07-08 12:02:04 1978 1

原创 从排序数组中删除重复子项-保留2次(可拓展)

一、题目描述给定一个有序数组,删除重复的地方,使每个元素只出现不多于两次,并返回新的长度。不要为其他数组分配额外的空间,您必须使用常量内存来完成此操作。例如,给定输入数组A = [1,1,1,2,2,3],你的函数应该返回length = 2,现在A是[1,1,2,2,3]。二、解题思路当第一次出现array[index]==array[i]的情况时,包容它能像array[index]!=arra...

2018-07-08 11:42:14 258

原创 两个排序数组中找第k大的数

一、题目描述给定两个已经排序好的数组,找到两者所有元素中第k大的元素二、解法分析解法一:参照归并排序    将两个有序数组变成一个有序数组:merge两个数组,然后求第k大的数,时间复杂度O(m+n)解法二:游标计数    题目只要求第k大的数,没必要花力气将数组全部再排序,可以定义两个游标分别指向两个有序数组,按序移动,并用count计数,当count等于k时,返回两个游标指向的数中最小的那一个...

2018-07-08 11:32:18 9529 4

原创 成对括号的递归生成

leetcode 22. Generate Parentheses一、问题描述给定n对括号,编写一个函数来生成正确括号的所有组合。例如,给定n = 3,解决方案集合为:[  "((()))",  "(()())",  "(())()",  "()(())",  "()()()"]二、解题思路要求生成所有组合并输出,考虑用递归记录,递归执行条件为:1)先放左括号 --  当前左括号数<n,则放..

2018-07-07 11:58:22 715

原创 机器人走网格--有障碍物

leetcode 63. Unique Paths II一、问题描述机器人位于一个m x n网格的左上角。机器人只能随时向下或向右移动。机器人正在尝试到达网格的右下角。假设网格中有障碍物,求有多少条独特的路径?ps:网格中的障碍物和空白区分别标记为1和0。【举例】输入:[  [0,0,0],  [0,1,0],  [0,0,0]]输出: 21. Right -> Right -> Do...

2018-07-07 11:53:19 1906 2

原创 机器人走网格---限定向下或向右走

leetcode:62. Unique Paths一、问题描述机器人位于一个m x n网格的左上角(在下图中标记为“开始”)。机器人只能随时向下或向右移动。 机器人正在尝试到达网格的右下角(在下图中标记为“完成”)。有多少可能的独特路径?m和n的值最多为100。【举例】<例子1>:输入: m = 3, n = 2输出: 3--解释:从3*2格子的左上角出发, 一共有三条路线到达右下角:...

2018-07-07 11:50:14 1910

空空如也

空空如也

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

TA关注的人

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