自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win10安装jdk出现could not open 'D:\software\JAVA\lib\amd64\jvm.cfg'

在win10下安装jdk后,命令行测试java出现could not open XXX\jvm.cfg不是第一次安装jdk了,但出现这个问题还是一脸懵。我安装的是1.7版本的,最开始是装的1.7.0_13,我以为是太陈旧了,就卸载掉重新安装1.7.0_79。但还是出现了同样的问题。我报错前的环境变量时这样的: 画框的那两个就是我安装后新增的。 此时命令行javac没有报错,但是java...

2018-09-04 10:46:44 42891 52

原创 《发现价格》第一章 读书笔记——(2)

株冶事件的教训湖南株洲冶炼厂同样是有色金属企业,在20世纪90年代是我过最大的铅锌生产和出口基地之一。株冶是锌的生产商,该厂商在伦敦交易所进行期货交易。为了方式将来销售时锌的价格下跌,株洲冶炼厂进行了空头套期保值。(也就是卖出交易,如果将来价格下跌,就可以防止亏损,用来保值,期货交易所是有直接卖出机制的,而股票市场是没有的,也就是说股票市场必须先持有股票才能卖出。)一般来说,在交易所卖出期货合约数量应当是根据将来你要卖出的期货合约数量来调节的,最多也就是完全相等,一旦超过企业所持有的现货或者是将来会持有

2021-04-17 18:38:49 344 2

原创 《发现价格》第一章 读书笔记——(1)

这本书是中国证监会主席助理,上海期货交易所党委书记、总经理姜洋所著。几个月前读了第一章,作者力图通过一些历史上的相关故事,让我们明白期货的来龙去脉以及所起的作用,感觉挺有趣。但是作为非专业人士,对其中的原理还是一头雾水。...

2021-04-17 14:42:18 188

原创 剑指offer38题:字符串的排列

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。参考博客: http://www.cnblogs.com/cxjchen/p/3932949.html * 对于无重复值的情况 * 固定第一个字符,递归取得首位后面的各种字符串组合; * 再把第一个字符与后面每一个字符交换,并同样递归获得首位后面的字符串组合; *递归的出口,就是只剩一个字符的时候,递归的循环过程,就是

2020-05-26 11:38:58 208 4

原创 剑指offer13题:机器人的运动范围

题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路:递归具体思路见注释,具体代码如下:public class Solution { public int movingCount(int thr

2020-05-26 10:43:52 129

原创 剑指offer12题:矩阵中的路径

题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。思路:回溯+递归具体想法的都在代码注释中了,如下:import java.util.*;

2020-05-26 10:22:37 164

原创 剑指offer51题:数组中的逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007看到这个题目,我们的第一反应是顺序扫描整个数组。每扫描到一个数组的时候,逐个比较该数字和它后面的数字的大小。如果后面的数字比它小,则这两个数字就组成了一个逆序对。假设数组中含有n个数字。由于每个数字都要和O(n)这个数字比较,因此这个算法的时间复杂度为O(n^2)。我们以数组{7,5,6,4}为

2020-05-25 23:05:25 143

原创 剑指offer50题:字符流中第一个不重复的字符

题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。利用一个int型数组表示256个字符,这个数组初值置为-1.每从字符流读出一个字符,将该字符的位置存入字符对应数组下标中。若值为-1表示这是第一次读入,就把对应位置变为该字符在字符串中出现的位置,不为-1且>=0表示不是第一次读入,将值改为-2。之后在数组中找到大于等于0的

2020-05-25 22:00:19 125

原创 剑指offer41题:数据流中的中位数

题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。由于不是固定的数组,而是一个数据流,所以肯定要存在插入操作,我们插入之后要保证有序,这样我们取中位数就比较方便了。那用什么什么数据结构呢?首先我们想的是数组,但是排序的时间复杂度比较高。所以我们可以想到用大顶堆和小

2020-05-25 17:09:56 135

原创 剑指offer32题:按之字形顺序打印二叉树

题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。之前我们写过按层次打印二叉树,我们只需要在原来的基础上进行改进,就可以实现本题的要求,之前我们是把每层的数据存进ArrayList中,现在我们可以只需要稍加改进,在偶数层时对ArrayList进行reverse操作.但是在海量数据时,reverse效率是非常低的,那我们思考,怎么来避免reverse操作了,对了,可以使用双向链表!!!我们把Arra

2020-05-21 23:27:35 165

原创 剑指offer37题:序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得到的序列化字符串结果str,重构二叉树。例如,我们可以把一个只有根节点为1的二叉树序列化为"1,",然后通过自己

2020-05-21 23:00:53 164

原创 剑指offer36题:二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。二叉搜索树中序遍历就是从小到大的顺序,我们我们直接中序遍历,在遍历中该表节点的left指针和right指针即可public class Solution { TreeNode head = null; TreeNode realHead = null; public TreeNode Convert(TreeNode pRootOfTree) {

2020-05-21 22:41:22 107

原创 剑指offer35题:复杂链表的复制

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)首先第一种想法是分两步进行,首先复制原始链表的每个节点,通过.next连接起来,然后设置每个节点的random,复杂的就是这一步,因为无法确定random的位置,所以需要从头节点开始找,对于原始链表的每个节点,找到它的random从头节点走了多少步,那新链表对应节点

2020-05-21 22:30:52 131

原创 剑指offer66题:构建乘积数组

题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)首先不能使用除法,我们想到的可能是连乘,但这样的时间复杂度是O(n^2),接下来我们考虑时间复杂度比较低的算法以下内容截取自《剑指offer》剑指offer上思路已经

2020-05-20 23:07:15 136

原创 剑指offer62题:二叉搜索树的第k个节点

题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。因为二叉搜索数按照中序遍历就是按照从大到小的顺序,所以我们只需要对它进行中序遍历,然后找到第k个即可,比较简单,直接上代码。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(

2020-05-19 15:38:48 90

原创 剑指offer14题:剪绳子

题目描述给你一根长度为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>1并且m>1,即绳子长度最短为2,且最少要剪成2段,不可以不剪。2

2020-05-19 10:49:12 187

原创 剑指offer32题:从上到下打印二叉树

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。直接上代码。import java.util.*;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution

2020-05-18 21:57:13 102

原创 剑指Offer43题:左旋转字符串

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!首先看到这个题目,可能想到把字符串的前面n位取出来,拼接到后面就可以了。这里提供一个不同的思路,通过三次翻转来实现。假设对于字符串S=”abcXYZdef”,要求输出循环左移3位后的结果,我们先翻转它的

2020-05-18 20:03:19 105

原创 剑指offer55题:平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树我们只需要算出左右子树的深度,看一下差值是否大于1就可以了计算二叉树的深度的方法如下:public static int getTreeDepth(TreeNode root){ if(root == null){ return 0; } int left = getTreeDepth(root.left);

2020-05-18 19:10:58 96

原创 剑指offer58题:翻转单词的顺序

题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?这里提供两种思路方法一先对原始字符串以空格进行分割,分割成不同的单词,以字符串数组形式存放,然后从后往前遍历数组,逐个加入到str

2020-05-17 23:34:40 202

原创 剑指offer第3题:数组中重复的数字

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。代码如下:public class Solution { // Parameters: // numbers: an array of integers // length: t

2020-05-16 23:05:25 127

原创 剑指offer61题:扑克牌中的顺子

题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。其中A为1,J为11,Q为12,K为13,而大小王为0,且大小王能够当做任意一张牌。解题思路:1.首先应该对数组进行排序。2.统计数组中大小王(0)出现的个数。3.统计数组中所有相邻数之间的间隔。4.同时还需要排除对子的情况,如果出现了对子,那么肯定不可能是顺子(0除外)。5.最后比较0的个数和间隔大小,如果0的个数大于等于间隔数,说明可以组成顺子。完整代码import java.util.Arrays;pub

2020-05-16 02:35:53 175

原创 剑指offer45题:圆圈中最后剩下的数

题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一个小朋友,可以不用表演,并且拿到牛客名贵的“名侦探柯南”典藏版(名额有限哦!!_)。请你试着想下,哪个小朋友会

2020-05-15 20:48:09 102

原创 剑指offer38题:某数在排序数组中出现的位置

题目描述统计一个数字在排序数组中出现的次数。暴力遍历看到这里首先想到的就是暴力遍历,时间复杂度是npublic class Solution { public int GetNumberOfK(int [] array , int k) { int count=0; for(int i=0;i<array.length;i++){ if(array[i]==k) count++;

2020-05-14 22:12:30 107

原创 剑指offer35题:第一个出现一次的字符

题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)先遍历一遍字符串,用一个数组来存储每个字符出现的次数然后找到这个数组第一次为1对应的字符的位置即可。public class Solution { public int FirstNotRepeatingChar(String str) { int[] count = new int[58

2020-05-13 21:17:54 79

原创 剑指offer33题:把数组排成最小的数

题目输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。解题思路:先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来。关键就是制定排序规则。排序规则如下:若ab > ba 则 a > b,若ab < ba 则 a < b,若ab = ba 则 a = b;解释说明:比如 “3” < "31

2020-05-12 15:03:38 104

转载 剑指offer34题:求第N个丑数

题目把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。此处参考一个大佬,链接:https://www.nowcoder.com/profile/835689/codeBookDetail?submissionId=1522621首先从丑数的定义我们知道,一个丑数的因子只有2,3,5,那么丑数p = 2 ^ x * 3 ^ y * 5 ^ z,换句话说一个丑数一定由另一个

2020-05-11 22:21:24 85

原创 剑指offer40题:数组中只出现一次的数字

题目一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。1、我看大佬们都是用二进制的运算来做的,本人计算机渣渣,对这些按位运算看的头晕,这里提供一个不同的解题思路。2、利用set的不可重复性,遍历数组放入set,如果放入失败,说明里面原来已经有了同样的数,就把原来的数删除,最后剩下的就是那两个只出现一次的数。3、这里说明一点Integer[] res = set.toArray(new Integer[0]);,这一句中的new Integer[0],是要指

2020-05-10 11:36:46 97

原创 剑指offer31题:连续子数组的最大和

题目HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)暴力解法通过两个for循环把所有子数组和都存储起来,然后

2020-05-10 10:38:33 83

原创 剑指offer32题:整数中1出现的次数(从1到n整数中1出现的次数)

题目:求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。//暴力法把每个数转为string,逐位去判断是否包含1public class Solution { public int NumberOf1Between1AndN_Solu

2020-05-09 21:15:27 92

原创 win10安装Anaconda3 5-2出现Error opening file for writing错误

win10安装Anaconda3 5-2出现Error opening file for writing错误选择用户时候尝试一下不选Just me,而选择All Users选择用户时候尝试一下不选Just me,而选择All Users然后就可以安装了,中间如果出现黑色命令框不要管他,直到安装完成。...

2019-04-03 11:14:38 4008

原创 64位WIN10通过anaconda安装CPU版本tensorflow

64位WIN10通过anaconda安装CPU版本tensorflow本人虽然不是第一次装了,但是依然出现了很多问题,前面安装anaconda的过程不再说了,和安装普通软件一样,只需要添加进环境变量就可以。我使用的anaconda和tensorflow的版本在下面链接,有时候版本不同可能会出现问题。 1.安装anaconda并创建tensorflow环境 链接:https://pan.ba...

2018-08-01 11:55:00 2795

空空如也

空空如也

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

TA关注的人

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