java 对称的二叉树 1. 对称的二叉树1. 题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。2. 解题思路可以按照类似层次遍历,来判断是否是堆成二叉树:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同,以及左子树的右子树和右子树的左子树相同即可,然后采用递归一直判断下去。3. 代码public class isSymmet...
java 二叉树的深度、平衡二叉树、二叉树的下一个结点 1. 二叉树的深度1. 题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。2. 求解思路可以用后序遍历,从最后一层往上累加层数,最后加上根节点。3. 代码class TreeNode { int val = 0; TreeNode left = null; TreeNode right...
java 反转链表、合并链表 1. 题目描述输入一个链表,反转链表后,输出新链表的表头。2. 解题思路定义三个指针:第一个指针指向当前正在处理的节点;第二个指针指向当前处理节点的下一个节点,该指针是为了保证正常的遍历完顺序链表的所有节点;第三个指针指向当前处理节点的上一个节点,这里主要是为了修改当前指针的指向,也就是指向反向;3. 代码class ListNode { int val; List...
java 调整数组顺序使奇数位于偶数前面 1. 题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。2.解题思路(1)第一个思路:类似冒泡算法,前偶后奇数就交换,这里要注意考虑尽可能多的情况:public class Reorderarray { public static void main(Stri...
java 链表中倒数第k个结点 1. 题目描述输入一个链表,输出该链表中倒数第k个结点。2. 解体思路方法一:简单来说就是先遍历整个链表的长度L,然后根据k,从头节点开始遍历,到L-k,得到相应的节点。方法二:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指针走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。3. 代码实现方...
python中的轻量级定时任务调度库:schedule 提到定时任务调度的时候,相信很多人会想到celery,要么就写个脚本塞到crontab中。不过,一个小的定时脚本,要用celery的话太“重”了。所以,我找到了一个轻量级的定时任务调度的库:schedule。任务调度,轻量级的定时任务调度的库:schedule。库的安装还是最简单的pip install schedule,使用起来也是很容易理解的。1. 基本使用mport schedul...
基于LSTM的研报分类系统 基于东方财富宏观研究的研报分类系统东方财富宏观研究网址:http://data.eastmoney.com/report/hgyj.html一、该系统是由以下几步组成:(1)爬虫(2)文本处理(3)word2vec词向量训练(4)Lstm模型训练(5)基于模型的新文本预测二、运行该系统需要安装的包(1)爬虫中需要安装:selenium和PhantomJS,本人的安装环境是mac下...
Mac的控制台命令行报错:command not found 这里只需要用户权限:进入当前用户的home目录:cd ~创建bash_profile 执行命令:touch .bash_profile打开并编辑bash_profile 执行命令:open .bash_profile编辑并保存成的形式如下:export ANACONDA_HOME="/Users/lilong/anaconda3"export PHANTOM...
Java 数值的二进制中1的个数和整数次方 1. 数值的二进制中1的个数1.1 题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。1.2 解题思路思路一:直接使用java自带的函数Integer.toBinaryString().toCharArray();把整数转换成二进制后再以字符串表示。思路二:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0...
Java 矩形覆盖 1. 题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?2. 解题思路当要覆盖2*1的大矩阵时:只有一种方式即f(1) = 1当要覆盖2*2的大矩阵时:可以有两种跳法:f(2) = 2当有3阶台阶时,这时我们先看第一步怎么走,分两种情况:当先跳1个台阶,那剩下就是2个台阶,这时剩下的2个台阶最多只有f(...
java 简单跳台阶和变态跳台阶 1. 简单跳台阶1.1 题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。1.2 解题思路对于本题,有题目描述可知,每次只能跳一个或者两个台阶,下面找一下规律:这里假设有n阶台阶时就有f(n)种跳法当有1阶台阶时只有一种跳法:f(1) = 1当有2阶台阶时就可以有两种跳法:f(2) = 2当有3阶台阶时,...
Java 斐波那契数列 1. 题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=392. 解题思路这里要注意是从0开始的,而且第0项为0。3. 代码:public class FibonacciSequence { //{0,1,1,2,3,5,8,13,21,....} // 0 1 2 3 4 5 6 7 8 ..... pu...
旋转数组的最小数字 1.题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。2. 解题思路旋转之后的数组实际上可以划分成两个有序的子数组:前面子数组的大小都大于后面子数组中的元素...
用两个栈实现队列 1. 题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。2. 解题思路入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B。如果栈B不为空,栈B出栈。3. 代码public class TwoStackImplementationQueues { public static Stack<...
重建二叉树 1. 题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。2. 解题思路在二叉树的前序遍历中,第一个数字总是树的根节点。在中序遍历中,树的根节点在序列的中间某个位置,左子树的节点的值位于根节点的左边,右...
java静态内部类了解一下 package test;public class StaticInnerClass { public static void main(String[] args){ Mother mother=new Mother(&quot;lucy&quot;); //实例化母亲 mother.eat(&quot;苹果&quot;); //母亲吃苹果 Mother.Baby baby=new ...
二叉树的构建和遍历 通过数组来构造二叉树思路:1)将数组元素转换成Node节点。2)用LinkedList数据结构存储Node节点。3)分别处理前n-1个父节点和最后1个父节点,因为最后一个父节点可能没有右孩子。4)父节点索引与左右孩子索引的关系:左孩子索引=父节点索引2+1;右孩子索引=父节点索引2+2;...
pandas中dataframe的索引使用和转换为array #!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Tue Nov 6 23:44:54 2018@author: lilong"""import pandas as pdimport numpy as np# 通过行标签索引行数据 index可以为整数data = [[1,2,3],[4,5,6]]i...