![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法(java代码实现)
数据结构与算法(java代码实现)
塞上江南o
这个作者很懒,什么都没留下…
展开
-
求解素数个数问题
因为所有的素数都是奇数(2除外)所以只在奇数中挑选素数,要筛选 因为所有的个别奇数可以分解成几个奇数的乘积,所以还要筛选 package lesson01; import java.util.Scanner; public class Main { // 思路:将素数的倍数全部筛掉,剩下的就是素数了,因为素数都是奇数,所以只需在奇数范围内筛选就可以了 int prime(int ...原创 2019-12-03 12:35:18 · 507 阅读 · 0 评论 -
用栈实现队列
代码简单,不在解释 package lesson01; import java.util.Stack; public class Code03_TwoStackQueue { Stack<Integer> stackPush; Stack<Integer> stackPop; public Code03_TwoStackQueue() { stackP...原创 2019-10-17 17:11:56 · 91 阅读 · 0 评论 -
用队列结构实现栈
解题思路 首先将所有的N个元素入第一个队列,然后弹出N-个元素到第二个队列,然后输出第一个队列的最后一个元素 package lesson01; import java.util.Stack; public class Code03_TwoStackQueue { Stack<Integer> stackPush; Stack<Integer> stackPo...原创 2019-10-15 16:56:43 · 83 阅读 · 0 评论 -
给定一个数组,求如果排序之后,相邻两数的最大差值,要求时 间复杂度O(N),且要求不能用非基于比较的排序
n个数,制造n+1个桶 找到空桶的左边的最大值,和右边的最小值 相减即结果 package lesson01; import java.util.Arrays; public class Code02_MaxGap { public static int maxGap(int[] nums) { if (nums == null || nums.length < 2) ...原创 2019-10-15 10:44:19 · 203 阅读 · 0 评论 -
优先级队列
注:用了一把系统的优先级队列,但是必须自定义比较器 package lesson01; import java.util.Comparator; import java.util.PriorityQueue; public class Code01_PriorityQueue { public static void main(String[] args) { PriorityQueue...原创 2019-10-13 20:01:02 · 158 阅读 · 1 评论 -
2.8-3求解回文序列
2.8-3求解回文序列 如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插...原创 2019-10-11 11:01:20 · 305 阅读 · 0 评论 -
求解n阶螺旋矩阵问题
求解n阶螺旋矩阵问题原创 2019-10-10 11:43:54 · 488 阅读 · 0 评论 -
插入排序
插入排序 以下只介绍两种插入排序方法:直接插入排序和希尔排序 直接插入排序分为2种:带哨岗的和不带哨岗的 不带哨岗的 package lesson01; import java.util.Random; public class demo01_InsertionSort { // 不带哨岗的插入排序 public static void insertSort(int[] arr) {...原创 2019-09-30 16:41:39 · 67 阅读 · 0 评论 -
荷兰国旗问题
荷兰国旗问题 题目描述: 给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于num的数放在数组的中间,大于num的数放在数组的右边 package lesson01; import java.util.Random; public class demo03_NetherlandsFlag { public static void main(String[] arg...原创 2019-09-29 18:10:28 · 89 阅读 · 0 评论 -
小和问题
小和问题 题目描述: 在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组 的小和 题目举例: [1,3,4,2,5] 1左边比1小的数,没有; 3左边比3小的数,1; 4左边比4小的数,1、3; 2左边比2小的数,1; 5左边比5小的数,1、3、4、2; 所以小和为1+1+3+1+1+3+4+2=16 package lesson01; publi...原创 2019-09-28 15:49:15 · 254 阅读 · 0 评论 -
java对数器
java对数器 package lesson01; import java.util.Arrays; import java.util.Random; public class demo_01_InsertionSort { public static void main(String[] args) { int testTime = 10000; // 测试次数 int arr...原创 2019-09-27 17:45:04 · 229 阅读 · 0 评论