自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 LinkedList- K 个一组翻转链表

问题:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5]解题思路:如果K<2时链表没有变化,设置四个指针,pre,next为需要转换节点的边界,head,tail是需要转换节点的起始位置,分组进行字符串反转。class Solution {

2021-03-10 22:58:17 92

原创 LinkedList-环形链表

问题1给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个

2021-03-10 22:56:03 299

原创 LinkedList-两两交换链表中的节点

问题:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。输入:head = [1,2,3,4]输出:[2,1,4,3]解题思路:这道题用文字叙述比较吃力,有图的演示就很清晰,此篇文章讲解的很好,大家可以参照下https://leetcode-cn.com/problems/swap-nodes-in-pairs/solution/dong-hua-yan-shi-24-liang-liang-ji...

2021-03-10 22:53:29 404

原创 LinkedList-反转链表

问题:反转一个单链表。输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解题思路:此题可以使用递归思想求解。首先还是写出递归终止条件。然后假设只差最后一步没有反转,如例子:1->2<-3<-4<-5,我们需要做的就只剩下将2指向1就可以了。class Solution { public ListNode reverseList(ListNode

2021-03-10 22:50:44 827

原创 Array-三数之和

题目:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解题思路:首先要给数组进行从小到大排序,然后从左往右依次遍历。固定左边值,因为题目要求是要找到和为0的数组,如果和为0,其中的元素要么有负数,要么都是0,如果都是整数不可

2021-03-09 00:53:39 83

原创 Array-爬楼梯

问题:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶解题思路:此题使用递归的思路最好求解。这个题其实可以在纸上写出前几种情况的解法,找到他们的相同之处,找到最小重复子问题。假设我们已经知道n-1和n-2有多少种走法,也知道每次你可以爬 1 或 2 个台阶,所以n阶台阶的走法就是

2021-03-09 00:52:07 84

原创 Array-移动零

题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]解题思路任何一道题在解题时首先要考虑它的边界条件。定义变量index记录不为0元素的位置,同时使用for循环遍历,将不为0的值放在前面去,重点在11行,把0换到后面去。27行的做法更为巧妙,当i > j 时,只需要把 i 的值赋值给j 并把原位置的值置0。同时这里也把交换操作换成了赋值操作。class Sol

2021-03-09 00:50:29 134

原创 Array-盛最多水的容器

盛最多水的容器题目:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。解题思路1、首先要想.

2021-03-09 00:47:28 74

原创 字符串全排列

字符串全排列是一道常见的算法题,例如字符串"abc"的全排列是"abc"、"acb"、"bac"、"bca"、"cab"、"cba",这种问题通常使用递归的思想求解。解题思路:首先固定一个字符,对后面的字符进行全排列,以此类推,直到遇到基准情况(仅剩一个字符时)返回调用。以上边的字符串abc为例,首先固定a,对bc进行全排列;之后使a与b交换相当于固定b,对ac进行全排

2018-04-21 15:30:35 888

原创 每天一道算法题——链表反转

这是我第一次实习面试的时候被问到的算法题,现在想想当时还是很年轻啊。链表是数据结构的基础而且变化多端,可以考察的点非常的多,单链表反转应该是在面试中出现次数比较多的一道题了,我觉得它是在考一个人的基础,也考察的思维灵敏度。例如给定1 -> 2 -> 3 -> 4 -> 5,转换成5 -> 4 ->3 -> 2 -> 1。比较巧妙的一种方法就是递归判断,假设已经递归到最后一步1 -> 2

2017-11-02 00:07:45 351

原创 每天一道算法题——字符串匹配

字符串匹配算法是我在映客面试时候的一道算法题,当时用的还是最基本的暴力枚举法写出来的吧,之前看过的KMP算法,Rabin-Karp算法都没用上,今天就来总结一下字符串匹配的几种算法吧。一、暴力匹配法:这应该是万能算法了,但性能比较差,它的过程就是在[0,n-m]范围内,查找是否存在一个s,0代码如下:package p_14_matchstr;public clas

2017-11-01 16:50:13 685

原创 每天一道算法题——用栈实现队列

这道题也是我面试HoloMatic中的一道题,但是这道题答的也不是很好,今天就来总结这道题所用的算法吧。首先,用两个栈实现队列:由于之前对数据结构和算法不是很了解,只是知道栈是LIFO,队列是FIFO,当被问到的时候思考了半天,想出来一个不是很巧妙的算法:设置两个栈分别为stack1,stack2,入队操作我想的就是将数据压入到stack1中,而出队操作就是将pop出stack1中所有元素

2017-10-31 10:28:51 468

原创 每天一道算法题——二进制数中1的个数

这是我在面试HoloMatic时考官问我的一道算法题,但是当时我没有好的想法,只是用最基本的方法写出来的,现在整理一下这道题的思路:1、不完善版:(问题一:如果把右移换成/2可以吗:不可以,因为除法的效率比移位运算的效率低; 问题二:如果输入的负数会出现什么情况:因为是右移,负数会高位补1,最后陷入死循环)public int Method1(int binary){ int coun

2017-10-30 02:24:36 320

原创 每天一道算法题——汉诺塔

汉诺塔如图所示,把圆盘从下面开始按大小顺序重新摆放在另一根柱子上,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。它的解法可以采用分解法,把一个大的问题,逐步分解成一个个小问题。比如我们想把A中的盘子挪到B上,可以把问题分解成,将A的前n-1个盘子先挪到C,然后把A中最后一个挪到B,再把C的n-1个盘子挪到B;然后n-1个盘子的问题可以分解成,先将C中前n-2个盘子放到A,把C的最

2017-10-29 10:51:01 1463 1

原创 每天一道算法题——数组重排序

算法:按照规则重排数组

2017-10-27 23:35:35 272

原创 深度学习——提高网络性能(一)

一、偏差/方差:深度学习很少谈论偏差,方差权衡问题,一般都是分开讨论:high bias(underfitting):在训练集上表现的不好high variance(overfitting):在测试集表现的不好如下图所示,可以通过training error and dev error 来判断拟合程度:二、机器学习基础:在机器学习中通常会考虑方差、偏差均

2017-09-22 20:31:32 3281

原创 算法总结2

今天练习了一下堆栈的使用:一、利用堆栈计算逆向波兰表达式:“3,4,*,1,2,+,+”   》》 3 * 4 + (1+2) = 15将数字逐一压入到堆栈中,如果遇到运算符就pop出两个数组进行计算,并将结果压回到堆栈中;首先判断一下边界条件:如果读入的字符是运算符但是堆栈中没有2个或以上的数组,说明不成立返回false; 然后根据读入是数字或操作符做相应的操作;最后堆上的数

2017-09-20 12:40:33 271

原创 算法总结一

总结一下今天(2017/9/18)的所看见的东西:第一个遇到的题可以归结为字符串反转题:例如 "abcd" ->"dcba",通常做法是 用两个指针分别指向字符串的头和尾,将指针指向的两个字符交换,然后两个指针分别向前后进一位,直到两个指针互换时,反转结束。-> a b c d b c b a单词倒转可以转换为字符倒转,首先将整个字符串倒转,例如”Alice like

2017-09-18 21:12:25 331

原创 Ubuntu遇到的错误总结

1、分区:当安装软件时发现/home中没有空间了,本来先重做系统重新分区(太蠢了),后来从网上查到可以用Gparted:安装: sudo get-apt install gparted启动:sudo gparted之后将未分配的空间移到想要扩容区域的旁边进行设置。2、查看分区:$cat /proc/partitions

2017-07-18 12:35:24 332

原创 Ubuntu16.04+tensorflow1.2+anaconda2安装配置

终于装上了tensorflow,其间真是走了不少弯路,在这里总结一下吧:1.安装anaconda这个没有什么好说的了,点击网址https://www.continuum.io/downloads下载吧,或者从清华的镜像中下载因为我使用的是python2,所以我下载的是anaconda2bash Anaconda2-4.4.0-Linux-x86_64.sh 配置下环境变量,

2017-07-06 14:50:28 510

原创 Python基础——小结

print语句如果在结尾处加逗号,接下来的语句与前一条语句同行打印导入所有功能from somemodule import *序列解包:赋值:x,y = y,xPython3中 a,b,*rest = 1,2,3,4   -》a=1 b=2 rest = 3,4链式赋值:x=y=somefuction()比较运算符:  is 同一个对象(判断同一性,==判断相等性)up

2017-06-29 13:38:06 318

原创 Python基础——序列

通用的序列操作:索引,分片,加,乘,成员资格,长度,最大,最小值。序列中最常用的应该就是列表和元组了,下面介绍几种它们的常用方法

2017-06-19 08:52:44 217

原创 Python基础——字典

字典就是Python中哈希表的实现,它是Python中唯一内建的映射类型。一、创建字典:常用的创建字典的方法有两种:1、整个字典用花括号括起来{},每个键值之间用冒号(:)隔开,项与项之间用逗号隔开(,)2、用dict函数*****value是以0开头的数字最好转成字符串,因为八进制的数字均以0开头,这就导致结果和预期的有可能不一样二、字典的基本操作基本操作

2017-06-18 20:48:33 227

原创 python正则表达式(re)

在Python中re模块用于对正则表达式(regular expression)的支持。正则表达式是可以匹配文本片段的模式。一、正则表达式的书写:1、通配符:点( . )可以匹配任何字符(除了换行符)。如:'.ike' 可以匹配 ’bike‘;’like‘等2、对特殊字符进行转义:在正则表达式中如果是引用特殊字符作为普通字符有可能会出现问题。如 ‘python.org'可能会被匹配

2017-06-02 18:56:15 426

原创 tesorflow api

2017-05-17 14:56:23 225

原创 tensorflow安装

在终端直接输入:conda install -c https://conda.anaconda.org/jjhelmus tensorflow 就可以了,不用那么麻烦了,因为将虚拟环境中一出来可能使conda命令失效,安装了anaconda之后如果说权限不够的, 可以 使用指令: sudo chmod 777 -R anaconda2 之后就可以安装tensorflow了

2017-05-16 10:49:14 177

原创 拉格朗日插补法总结

下面是一个实现小程序import pandas as pdfrom scipy.interpolate import lagrangeinputfile = 'catering_sale.xls'data = pd.read_excel(inputfile)print datadata[u'销量'][(data[u'销量'] 5000)] = Noneprint datade

2017-05-08 16:59:44 1253

原创 简单线性回归

回归分析:用来建立方程模拟两个或以上变量之间如何关联简单线性回归:1、包含一个自变量X和一个y因变量Y2、两个变量可以用一条直线模拟出来(多个变量叫做多元线性回归)一、统计量:描述数据特征1、均值(mean):2、中位数(median):数据顺序排列,居于中间位置的变量3、众数(mode):数据中出现次数最多的数二、离散程度衡量1、方差(varian

2017-05-03 19:32:33 1069

原创 JAVA局部内部类的使用

我是在JDK8环境下实现的,与之前的版本规则有一些变化,所以在这里mark一下public class localInnerClass{ public static void main(String []args){ OutClass out = new OutClass(); out.show(); }}class OutClass{

2017-04-22 00:00:11 3339

原创 最近邻规则算法(KNN)

最近邻算法(KNN)是一个基于实例学习的分类算法。如果一个实例在特征空间中的K个最相似(即特征空间中最近邻)的实例中的大多数属于某一个类别,则该实例也属于这个类别。所选择的邻居都是已经正确分类的实例。算法步骤:1、把所有分类好的(有标签label)的数据(实例)作为训练集;2、选择好参数K;3、计算未知实例与所有已知实例的距离;4、选择最近K个已知实例;

2017-04-20 21:12:36 3559

原创 决策树算法

决策树算法(ID3):  机器学习中决策树是一个预测模型,它表示对象属性和对象值之间的一种映射,树中的每一个节点表示对象属性的判断条件,其分支表示符合节点条件的对象。树的叶子节点表示对象所属的预测结果(代表类或类分布)。ID3:信息熵(entropy):信息熵表示的是不确定度。信息的不确定性越大,熵就越大。(均匀分布时,不确定度最大,此时熵就最大)。当选择某个特征对数据集进行分

2017-04-16 21:36:27 529

原创 Java中多态的使用

这个小程序重点在于对School的设计,用到了重写,继承,多态等public class PolyDemo{ public static void main(String [] args){ colorPrinter cp = new colorPrinter("lenovo"); blackPrinter bp = new blackPrinter("

2017-04-11 08:56:57 593

原创 三种基本的排序程序(多态)

这个程序主要是为了熟悉冒泡,选择,插入三种排序方法。还可以理解静态方法的使用,和一种比较简洁的二值交换程序。import java.util.Scanner;import java.util.Arrays;public class manySort{public static void main(String []args){ Scanner input = new Scanne

2017-03-27 16:20:08 541

原创 c语言形参传递的问题

http://www.cnblogs.com/yanlingyin/archive/2011/12/07/2278961.html先做个标记,回来在补。mark一下

2017-03-19 17:28:06 428

原创 书写数字的识别

MNIST是一个大型的手写体数字数据库,广泛用于机器学习领域的训练和测试,包括60000个训练集和10000个测试集,每张图都已经进行尺寸的归一化、数字居中处理,尺寸为28*28像素。        1、首先配置好caffe2、获取mnist数据cd caffe./data/mnist/get_mnist.sh3、然后创建lenet(将原始数据集转换成二进制文件)./examp

2017-02-18 20:35:05 823

原创 Ubuntu下安装caffe的Python接口

(前提是安装python)1、安装pipsudo apt-get install python-pip python-dev build-essential 2、安装依赖项sudo pip install -r ./python/requirements.txt3、cd caffemake pycaffe这里面我运行时报了一个错:解决方法我是按照

2017-02-12 21:23:06 543

原创 win7+vs2013+CUDA7.5的配置

1、CUDA的下载这个就不多说了,大家可以到官网上下载,或者百度云盘等链接均可。2、CUDA的安装这里我使用的是默认路径安装的,点击“OK”开始安装同意并继续->在安装模式上选择自定义-.>所有组件全部勾选 进行下一步->之后的三个路径我也选择的是默认路径3、配置环境变量安装完成后,右键点击计算机“属性”——高级系统设置——环境变量在系统变量中新建这么几

2017-02-11 00:19:26 1203 1

原创 Ubuntu12+caffe配置

首先说一下配置出现的问题:  我一开始用Windows配置caffe可惜没成功,然后我又安装了Ubuntu操作系统,开始配置。  在配置时出现的问题是:sudo apt-get install libboost-all-dev。没有形成依赖关系。                                            解决方法是:更新一下源:sudo apt-get upda

2017-02-09 10:12:35 233

原创 win7+VS2015+OpenCV3.20的搭建

#百度上搜索会出现许多关于OpenCV的配置,很多的很详细第一次配置OpenCV,也是费了好长时间,太笨了我总结一下自己关键的一点在于下图,vc14表示VS2015,vc12表示VS2013,因为OpenCv里只有VC14这一个,所以刚开始我用VS2013配置了半天总是有错误,然后我又更换了VS2015就成功了1、首先是下载OpenCV这里我就不多少说了,大家可以到官网

2017-02-09 09:23:20 3861

2018年软考中级大纲变动

资料包含2018年最新的考试大纲,以及对比以往出现哪些变动

2018-04-23

空空如也

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

TA关注的人

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