算法
Eocc
这个作者很懒,什么都没留下…
展开
-
求质因子数
描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )数据范围: 1 <= n <= 2 x 10^9 + 14输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc原创 2022-05-28 14:11:17 · 181 阅读 · 0 评论 -
二叉树的遍历与重构
先序遍历: 1,2,7,4,5,3,6,8中序遍历:7,2,5,4,1,6,3,8后序遍历:7,5,4,2,6,8,3,1根据先序遍历和中序遍历重构二叉树先序遍历的第一个节点为根节点1在中序遍历中找到根节点1,其左侧的就是这个节点的左子树的中序遍历7,2,5,4,右侧的就是右子树的终须遍历6,3,8在先序遍历中找到左右子树的先序遍历2,7,4,5,3,6,8递归左右子树重构二叉树(...原创 2019-09-24 17:23:22 · 224 阅读 · 0 评论 -
各种进制的字符串转数字
本文以Integer为例。需要注意的点:正负数处理越界,Integer.MAX_VALUE为2147483647,Integer.MIN_VALUE为-2147483648。正数的容量比负数小1(因为正数包括0),所以计算的时候得使用负数计算,如果是正数再取反对每一位转换的时候考虑范围必须在进制之内package demo;public class Solution { public static void main(String[] args) { int inpu原创 2022-03-10 10:08:53 · 191 阅读 · 0 评论 -
TopN问题
思路: 使用堆排序 对于最大的topN,采用小顶堆,先将数组里面的前N个树构建小顶堆,后来的数num如果大于根节点,则将根节点取出,将num压入,一遍以后堆里面的数据就是最大的TopN。时间复杂度为O (nlogn)。 最小的TopN则与刚才的相反Tip: Java可以使用PriorityQueue实现大顶堆和小顶堆// 大顶堆PriorityQueue<Integer>...原创 2019-09-28 11:16:42 · 262 阅读 · 0 评论