105、从前序与中序遍历构造二叉树&&106、从中序与后续遍历构造二叉树 105、从前序与中序遍历构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7//思路:preorder第一个...
112、路径总和 113、路径总和II 112、路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 ...
225、用队列实现栈 232、用栈实现队列 225、使用队列实现栈的下列操作:push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。 你所使用的语言也许不支持队列。 你可以使用...
155、最小栈 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.pus...
86、分隔链表 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5思路 :使用双链表解决,建立两个链表,其中一个链表存储&l...
160、相交链表 编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 ...
141、环形链表 142、环形链表II 141、环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1...
11. 盛最多水的容器 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...
15. 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]] 思路:两...
118. 杨辉三角&119.杨辉三角 II 118、给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]1、首先解释List<Integer>泛型,指定传入的类型,这样定义之后,这个...
88. 合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6],...
53、最大子序和 输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6代码如下:class Solution { public static int maxSubArray(int[] nums) { int maxsum=nums[0]; //定义数组最大和初始值 int t...
Linux文件和目录管理常用命令 cd /tmp进入 /tmp目录pwd显示当前所在目录mkdir -p /tmp/test/123创建/tmp/test/123级联目录,即使test目录不存在touch 111 rm -rf /tmp/test/123删除目录123,即使123不为空which ls 查找ls命令的绝对路径cp -r 123 456把目录123内容复制到目录456cp -i 111 222把文件111中...
通过KNN例子,实现Sklearn入门 一、安装sklearnpip 安装 安装 Scikit-learn (sklearn) 最简单的方法就是使用 pip 安装它.首先确认自己电脑中有安装Python (>=2.6 或 >=3.3 版本)Numpy (>=1.6.1)Scipy (>=0.9)然后打开cmd窗口,使用如下命令安装pip3 install -U scikit-learn(因为我用的版本是pytho...
map和reduce应用 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 def str2float(s): def char2num(s): digits={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9} return digits...
利用切片操作,实现一个trim()函数,去除字符串首尾的空格 非递归的方法:def trim(s): while(s[:1]==' '): s=s[1:] while(s[-1:]==' '): s=s[:-1] return s递归的方法:def trim(s): if len(s)==0: return s elif s[:1]==' ': retur...
Python基础之七种运算符 废话不多说,上节说的是数据类型,本篇讲讲数据运算。在算式“1+2”中,“1”和“2”被称为操作数,“+”被称为运算符Python语言支持以下运算符算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符 0x00. 算术运算符以下假设变量a为10,变量b为20:运算符描述实例+加 - 两个对象相加a + b 输出结果 30-减 - 得到负数或是一个数减去另一个数a - b 输出...
Python基础之五大数据类型 学习一门语言,往往都是从Hello World开始。 但是笔者认为,在一个黑框框中输出一个“你好,世界”并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常常说的基础。本篇从python中的变量类型开始。五大标准数据类型在内存中存储的数据可以有多种类型。例如, 一个人的名字可以用字符来存储, 年龄可以用数字来存储, 爱好可以用集合来存储等等。Python有五个标准的数据类型...
java实现一元多项式加法 思路:多项式结点类描述:(Node结点,Linklist类的描述在创建单链表的文章已经实现)public class PolynNode { public double coef; //系数 public int expn; //指数 public PolynNode(double coef,int expn){ //构造函数 this.coef=coef; thi...
java实现顺序,二分,分块查找 二分查找表一定要有序下面是具体实现代码import java.util.*;public class search { //顺序查找 public static int seqsearch(int[]a,int keytype){ if(a.length>0){ for(int i=0;i<a.length;i++){ if(a[i]==keytype) /