自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alex-zhai专栏

用键盘记录生活的每一瞬间

  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux下出现error while loading shared libraries,...cannot open shared object file: No such file..

很多时候,当你下载了一个安装包之后。执行时,可能会出现如下的错误error while loading shared libraries,...cannot open shared object file: No such file or directroy而在你下载的安装包里面,共享库文件(.so的文件)就躺在那里啊。为什么还是提示找不到呢?? 原来当执行函数动态链接.so时,如果此文件不在缺省

2016-05-31 22:51:14 1763

原创 怎么执行linux下的bin文件

当要执行linux下的bin文件时,直接 ./文件名如果不行,就先给权限,再执行。sudo chmod +rx "文件名"

2016-05-31 21:08:14 5209

原创 Leetcode之unique-binary-search-trees

题目描述: Given n, how many structurally unique BST’s (binary search trees) that store values 1…n?For example, Given n = 3, there are a total of 5 unique BST’s. 动态规划来解决这道题: 我设bsTreeNum[i]表示共有i个节点时,能产生

2016-05-30 22:14:06 582

原创 Linux下出现No module named ..的原因

今天在Linux配置一个Python程序包,下载下来之后包名称为DDPG-master 。 路径为:/home/alex-zhai/Downloads/DDPG-master 然后将路径添加到 PYTHONPATH环境变量中,打开 ~/.bashrc,在文件尾部添加: export PYTHONPATH=/home/alex-zhai/Downloads/DDPG-master:$PYTHONPA

2016-05-30 21:10:54 9827 1

原创 Ubantu怎么安装cudnn v4

首先,先去官网下载安装包。 https://developer.nvidia.com/rdp/cudnn-download 选择对于cuda驱动的版本。我下载的是cudnn v4版本。下载完之后先解压缩:tar -xvzf cudnn-7.0-linux-x64-v4.0-prod.tgz 然后:$cd cuda/include$sudo cp cudnn.h /usr/local/incl

2016-05-28 23:03:24 1309

原创 Theano下怎么配置GPU和cudnn加速

其实Theano下配置GPU和cudnn很简单,也很方便。就只要cd到/home当前用户的文件夹,其实也就是终端刚打开时的路径。gedit ~/.theanorc添加下面内容就可以:[global]floatX=float32device=gpu[nvcc]fastmath=TrueSo easy!!!

2016-05-28 22:54:46 949

转载 一张图弄清楚Java线程机制

转自:http://www.nowcoder.com/ta/review-java/review?page=13新建( new ):新创建了一个线程对象。可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。运行( running ):可运行状态(

2016-05-27 15:29:04 3686

原创 Java集合怎么一边删除一边遍历

问题描述: Java新手容易犯一个错误,就是遍历集合的同时删除集合的元素。那么程序会发生什么呢?下面举个小例子。import java.util.HashSet;import java.util.Iterator;public class IterAndRemove { public static void main(String[] args) { HashSet<St

2016-05-27 11:24:32 11688

原创 Leetcode之word-ladder

题目描述: Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that: Only one letter can be changed at a time Each intermediate

2016-05-27 10:52:04 580

原创 Leetcode之reorder-list

问题描述: Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes’ values. For example, Given{1,2,3,4}, reorder it to

2016-05-26 22:10:19 319

原创 Java中异常的总结

转自:http://blog.csdn.net/hguisu/article/details/6155636根据上面的层次图,异常类包括Error和Exception两大类 Error类异常主要是运行时逻辑错误导致,一个正确程序中是不应该出现error的。当出现error一般jvm会终止。 Exception表示可恢复异常,包括检查异常和运行时异常。 检查异常是最常见异常比如 io异常sql异常

2016-05-26 16:33:56 1704

原创 leetcode之longest-consecutive-sequence

问题描述: Given an unsorted array of integers, find the length of the longest consecutive elements sequence.For example, Given[100, 4, 200, 1, 3, 2], The longest consecutive elements sequence is[1, 2,

2016-05-25 19:44:23 318

原创 leetcode之insertion-sort-list

题目描述: Sort a linked list using insertion sort. 意思就是用插入排序对一个链表进行排序。插入排序的思想:与斗地主整理手牌的顺序的方法非常类似,例如, 前 i 个数组成了一个排序后的序列, 当插入第 i + 1 个数的时候, 只需要遍历这个数组找到新元素应该插入的位置, 就可以实现插入排序。 public ListNode insertionSortL

2016-05-25 12:56:52 602

原创 Ubantu开机黑屏,只有白色光标在左上角闪烁的解决办法

昨天电脑开机突然Ubantu进不了,出现黑屏并伴随着白色光标。但是尝试了一下win10还是可以进去的。所以我推断应该不是硬盘的问题。对于硬盘问题,自己还是有阴影。前段时间,由于强制关机,导致了windows开机黑屏的情况也发生过。那次是因为强制关机损坏了启动盘中的启动程序的注册表的相关磁道。所以千万记住,少强制关机。好了,扯远了。 回到本文的问题上,排除了硬件问题之后。我想到了Ubantu有个恢复模

2016-05-25 10:41:47 45949 14

原创 Ubantu安装cuda驱动教程

第一步:首先去官网上下载.deb格式的安装包。下载链接。这里有两种.deb的安装方式,离线和在线。我推荐大家选择离线安装,也就是选择下载.deb(local)文件。这里最好在window下用迅雷下载。速度快,下载完之后再拷到Linux系统上就行了。 因为linux下下载一个2G的文件太慢了。而我的性子比较着急,等不了那么长时间啦。哈哈…第二步:切换到下载的deb文件的所在目录,执行下边的命令:su

2016-05-24 13:28:21 1549

原创 Ubantu下Eclipse代码提示功能怎么设置

Eclipse 的代码提示功能,具体怎么样来配置?下面开始说步骤: 1. 打开Eclipse,然后“window”→“Preferences” 2. 选择“java”,展开,“Editor”,选择“Content Assist”。 3. 选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“Auto Activation triggers for

2016-05-24 09:13:08 990

原创 如何在ubantu下设置中文输入法

装好英文版的ubantu系统之后,要安装中文输入法。这里我根据多年Linux的经验,推荐大家还是安装谷歌拼音法吧。比安装搜狗拼音要简单多。具体步骤:1.直接从终端安装谷歌拼音包:sudo apt-get install ibus-googlepinyin 当然你也可以直接从ubantu的软件中心下载安装,但是我不推荐。既然都玩Linux了 干嘛还要用windows的安装方式来装软件呢。哈哈2.重启之

2016-05-23 23:59:17 4926

原创 ubantu下安装NVIDIA独立显卡驱动

由于要在Linux环境下跑一些深度学习的代码,所以就买了一张GTX 970 TI 的独立显卡。安装到主机上之后,就要装显卡驱动。window下的驱动很好装,用驱动精灵就可以了。但是Ubantu下安装NVIDIA驱动就不是那么容易的事情了。 再经历了几天的失败之后,自己也显得异常的灰心。最后通过不断的尝试和摸索,总结出来一种最简单的安装驱动方法:sudo add-apt-repository ppa

2016-05-23 22:52:47 3743

转载 接口与抽象类的区别和联系

接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对事物本质的抽象。 抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。 人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它. 所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物)

2016-05-23 12:10:27 820

原创 java中静态代码块

我们从一个小例子来了解静态代码块的工作方式:public class Test { static{ System.out.println("static block"); } public void print(){ System.out.println("method"); } public static void main(

2016-05-22 21:53:56 689

转载 实例方法和类方法的区别

区别: 1、类方法是属于整个类,而不属于某个对象。 2、类方法只能访问类成员变量,不能访问实例变量,而实例方法可以访问类成员变量和实例变量。 3、类方法的调用可以通过类名.类方法和对象.类方法,而实例方法只能通过对象.实例方法访问。 4、类方法只能访问类方法,而实例方法可以访问类方法和实例方法。 5、类方法不能被覆盖,实例方法可以被覆盖。

2016-05-22 21:34:24 2542

原创 排序链表

题目描述: Sort a linked list in O(n log n) time using constant space complexity归并排序的一般步骤为: 1)将待排序数组(链表)取中点并一分为二; 2)递归地对左半部分进行归并排序; 3)递归地对右半部分进行归并排序; 4)将两个半部分进行合并(merge),得到结果。所以对应此题目,可以划分为三个小问题: 1)找到链

2016-05-22 20:54:52 292

原创 Linux下怎么将自己编写的Python模块添加到PYTHONPATH上

要想让python解释器找到自己编写的模块,则该模块必须PYTHONPATH上,否则在导入该模块时会出现找不到该模块的错误,因此必须把所需要的模块的路径添加到PYTHONPATH(一般情况下是把lib/python2.7/site-packages添加到PYTHONPATH)。具体做法如下:(1) 在/etc/profile 或者 ~/.bashrc 中输出环境变量export PYTHONPAT

2016-05-19 16:19:05 4523 2

原创 二叉搜索树与双向链表

题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。import java.util.Stack;public class ConvertBSTreeToOrderBNode { //非递归方法 public TreeNode Convert(TreeNode pRootOfTree) { if

2016-05-18 19:04:22 300

原创 Java抽象类的一个例子

package suda.alex.test;import java.applet.Applet;abstract class Graphic { public int x, y;// 画图的坐标 public int width, height;// 图形的宽和高 public Graphic(int x, int y, int width, int height) {

2016-05-17 11:53:00 1771

原创 hashMap跟hashTable的区别

①继承不同。public class Hashtable extends Dictionary implements Map public class HashMap extends AbstractMap implements Map② Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用Hash

2016-05-17 10:26:48 552

原创 HashMap的四种循环遍历方式

public static void main(String[] args){ HashMap<Integer,Integer> hashMap = new HashMap<Integer, Integer>(); hashMap.put(1, 1); hashMap.put(2, 2); //* 4种hashMap循环方式

2016-05-16 23:07:07 8790 1

原创 复杂链表的复制

问题描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)。方法1:直接复制法(消耗资源多) 首先遍历一遍原链表,创建新链表(赋值label和next),用map关联对应结点;再遍历一遍,更新新链表的random指针。public RandomListNode Clone(RandomListNode pHead) { i

2016-05-16 19:39:50 698

原创 把二叉树打印成多行

题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> lists = new ArrayList<ArrayList<Integer>>(); if (pRoot == null)

2016-05-16 16:02:35 1038

原创 丑数

题目描述: 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路: 1)初始化三个队列,和存放结果的min变量 2)将1先插入队列1中 3 ) 令x为三个队列中的最小值 4)若x存在于: 队列1:将 x * 2、x * 3、x*5 分别放入三个队列,从

2016-05-14 13:38:43 353

原创 链表中环的入口结点

题目描述 一个链表中包含环,请找出该链表的环的入口结点。解题思路:设置两个指针,开始都指向链表头,然后其中一个指针每次向前走一步,另一个指针每次向前走两步,如果快的遇到NULL了,证明该链表中没有环,如果有环,快的指针每次都要比慢的多走一步,最终两个指针会相遇。而相遇点p到入口点的距离=头指针到入口点的距离,因此,分别从相遇点、头指针开始走,相遇的那个位置就是环的入口结点。public ListN

2016-05-13 13:58:06 1046

原创 把数组排成最小的数

题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。package alex.jzoffer;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;

2016-05-13 09:29:44 266

原创 两个链表的第一个公共结点

题目描述 输入两个链表,找出它们的第一个公共结点。解题思路:如果两个链表有公共节点,那么这两个链表从某一节点开始,它们的next都指向同一个节点,之后它们所有的节点都是重合的,不可能再出现分叉。所以拓扑形状看起来是Y型。 首先遍历两个链表得到它们的长度,比较链表的长度,以及长的链表比短的链表多几个节点。在第二次遍历的时候,先在较长的节点上走若干步,接着同时在两个链表上遍历,找到的第一个相同的节点

2016-05-11 20:19:40 373

原创 左旋转字符串

题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!import java.util.Scanner;public class LeftRotateSt

2016-05-11 19:42:36 372

转载 java七种反转字符串的方法

public class StringReverse { public static String reverse1(String s) { int length = s.length(); if (length <= 1) return s; String left = s.substring(0, length / 2

2016-05-11 19:25:45 629

原创 连续子数组的最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?思路大概有3种。

2016-05-11 12:55:24 593

原创 二叉搜索树的后序遍历序列

题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路: BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,先判断前一段序列的值(左子树)小于x,后一段序列的值(右子树)大于x,再判断这两段(子树)都是合法的后

2016-05-09 23:14:17 349

原创 求数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路1: 暴力穷举法 思路2: 分治的思想:先求前面一半数组的逆序数,再求后面一半数组的逆序数,然后求前面一半数组比后面一半数组中大的数的个数(也就是逆序数),这三个过程加起来就是整体的逆序数目了。其实也就是归并排序import java.util.Scann

2016-05-09 19:46:49 422

原创 字符串的全排列

题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 思路1: 假设字符串长度为n,当n为1时则直接返回其本身,否则首先计算后n-1个字符的所有排列(共(n-1)!个字符串),针对每个字符串将第一个字符插入到该字符串的相应位置中(有n种位置)

2016-05-08 19:28:37 500

原创 栈的压入、弹出序列

题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。import java.util.Scanner;import java.util.Stack;public class

2016-05-08 15:02:17 417

java学习开发

java学习

2012-11-22

空空如也

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

TA关注的人

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