![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
快乐星球user
这个作者很懒,什么都没留下…
展开
-
树根(编程题解)
题目 数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。 比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。 再比如39,把3 和9 加起来得到12,由于12 不是一位数,因此还得把1 和2 加起来,最后得到3,这是一个一位数,因此3 是39 的数根。 现在给你一个正整数,输出它的数根。 题解思路 接收字符串,然后求和 对大于..原创 2021-07-24 20:52:32 · 425 阅读 · 0 评论 -
星际密码(编程题解)
题目 他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。 题解思路 是一个变式的斐波那契数列 初始化斐波那契数列,每一次获取对应数据,打印最后四位 代码思路 new一个数组—— int[] nums = new int[10001]; ( 注:10001防止越界 初始化斐波那契数列—— nums[1] = 1; nums[2] = 2; 循环读取矩阵中的数字—— for(in..原创 2021-07-24 20:39:55 · 305 阅读 · 0 评论 -
快到碗里来(编程题题解)
题目: 小喵们很喜欢把自己装进容器里的(例如碗),但是要是碗的周长比喵的身长还短,它们就进不去了。 现在告诉你它们的身长,和碗的半径,请判断一下能否到碗里去。 题解 new scanner写入数据—— Scanner sc = new Scanner(System.in); 使数据循环输入—— while(sc.hasNext()){ } 输入值,即半径和身长—— BigDecimal n = sc.nextBigDecimal(); BigDecimal r = sc.nextBigDecimal.原创 2021-07-24 19:49:23 · 146 阅读 · 0 评论 -
变态跳台阶解题思路
变态跳台阶 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。 题解: 第一次跳1阶,剩n-1,跳法f(n-1) 第一次跳2阶,剩n-2,跳法f(n-2) 第一次跳3阶,剩n-3,跳法f(n-3) 第一次跳n-1阶,剩1,跳法是f(1) 第一次跳n阶,剩0,跳法是1 将所有跳法相加,得到2的n-1次方种跳法 所以每次将n的值左移一位,所得的值即为总的跳法数目; ...原创 2021-07-24 18:59:06 · 63 阅读 · 0 评论 -
常见的排序算法解读及Java实现
一、总述 二、排序 1.冒泡排序 2.快速排序 3.插入排序 4.选择排序 5.归并排序 6.希尔排序 7.堆排序 8.计数排序 9.桶排序 10.基数排序 一、总述 排序算法是最基本的算法之一。可根据一下标准来分类: (1)根据内/外部排序可分为: <内部排序>:内排序:指在排序期间数据对象全部存放在内存的排序。包括插入排序,希尔排序,选择排序,冒泡排序,归并排序,快速排序,堆排序,基数排序。 内排序效率用比较次数来衡量。 <外部排序>:指在排序期间全部对象太多,不能同时存放在内存转载 2021-07-17 19:12:50 · 122 阅读 · 0 评论