数据结构与算法
快乐星球user
这个作者很懒,什么都没留下…
展开
-
树根(编程题解)
题目数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。再比如39,把3 和9 加起来得到12,由于12 不是一位数,因此还得把1 和2 加起来,最后得到3,这是一个一位数,因此3 是39 的数根。现在给你一个正整数,输出它的数根。题解思路接收字符串,然后求和对大于..原创 2021-07-24 20:52:32 · 409 阅读 · 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 · 300 阅读 · 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 · 142 阅读 · 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 · 56 阅读 · 0 评论 -
常见的排序算法解读及Java实现
一、总述二、排序1.冒泡排序2.快速排序3.插入排序4.选择排序5.归并排序6.希尔排序7.堆排序8.计数排序9.桶排序10.基数排序一、总述排序算法是最基本的算法之一。可根据一下标准来分类:(1)根据内/外部排序可分为:<内部排序>:内排序:指在排序期间数据对象全部存放在内存的排序。包括插入排序,希尔排序,选择排序,冒泡排序,归并排序,快速排序,堆排序,基数排序。内排序效率用比较次数来衡量。<外部排序>:指在排序期间全部对象太多,不能同时存放在内存转载 2021-07-17 19:12:50 · 111 阅读 · 0 评论