![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
练习题
AI小艾
这个人很懒,什么都写了。
展开
-
寻找二叉树的下一个节点-java
题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。解题思路:首先把中序遍历的结果显示出来。—根 左 右中序遍历后的结果为:DNH B IEJ A FK C LGM从这个结果来分析中序遍历后的下一个节点情况:1、二叉树为空,返回空;2.有右子树的情况:其下一个节点就是其右子树的最左边的节点,一路向下寻找当前节点的右子树的最左边的节点。3.没有右子树的情况:分为两种情况情况一:当前节点是其父节点原创 2021-03-25 10:48:24 · 259 阅读 · 3 评论 -
寻找第K大的数字
题目描述有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。示例输入:[1,3,5,2,2],5,3输出:2思路1:首先想到的就是对数组先进行排序,然后输出倒数第K的数字的下标=数组的长度-k;所以问题就直接分解成为了如何对数组进行排序的问题,第一种就是直接利用java官方的API,Arrays.sort(array);进行排序,虽然这样得出来的答案是正确的,但是题目要求的是原创 2021-03-20 10:38:06 · 276 阅读 · 1 评论 -
数组中出现次数超过一半的数字
牛客经典试题:数组问题数组中有一个数字出现的次数超过数组长度的一半, 请找出这个数字。例如输入一 个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。示例:输入[1,2,3,2,2,2,5,4,2]输出 2思路一:最直接的方法,就是对所有的数字进行排序,然后扫描一遍排好序的数字数组,统计每个数字出现的次数,如果某个数字出现次数超过数组元素的一半,则进行输出。但是当我们首先已经将数组元组进行排序以后,数组原创 2021-03-19 10:56:02 · 226 阅读 · 0 评论 -
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
力扣:189. 旋转数组示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]解释:向右旋转 1 步: [99,-1,-100,3]向右旋转 2 步: [3,99,-1,-100]题原创 2021-03-02 23:15:48 · 1666 阅读 · 0 评论 -
球的半径和体积-java
题目描述:输入球的中心点和球上某一点的坐标,计算球的半径和体积。输入描述:球的中心点和球上某一点的坐标,以如下形式输入:x0 y0 z0 x1 y1 z1输出描述:输入可能有多组,对于每组输入,输出球的半径和体积,并且结果保留三位小数。为避免精度问题,PI值请使用arccos(-1)。示例1:输入0 0 0 1 1 1输出1.732 21.766思路:主要是两个公式:球半径:R球=sqrt*((x1-x0)^ 2+(y1-y0)^2 +(z1-z0) ^2)球的体积计算公式:原创 2021-02-04 10:54:32 · 902 阅读 · 0 评论