
Java数据结构与算法分析
算法是思维的美妙
谷哥的小弟
历任研发工程师,技术组长,项目经理;曾于2016年、2020年两度荣获优快云年度十大博客之星。
十载寒冰,难凉热血;多年过去,历经变迁,物是人非。
然而,对于技术的探索和追求从未停歇。
坚持原创,热衷分享,初心未改,继往开来!
展开
-
哈希表的几种实现方式与比较
哈希表(Hash Table)是一种常用的数据结构,用于实现键值对的映射关系。它通过哈希函数将键映射到一个特定的索引位置,然后在该位置存储相应的值。这样可以实现快速的插入、删除和查找操作,使得哈希表在很多场景下具有高效的性能。原创 2023-12-09 21:54:41 · 670 阅读 · 1 评论 -
贪心算法实现月饼销售收益的最大化
月饼是中秋佳节传统美食,不同地区有许多不同风味的月饼。现给定每种月饼的库存量、总售价、以及市场的最大需求量,请计算商家可以获得的最大收益。假如有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。假设市场的最大需求量只有20万吨,那么最大收益策略应该是卖出第2种月饼15万吨、第3种月饼5万吨,终于获得 94.5亿元收益。原创 2023-05-01 00:15:00 · 271 阅读 · 0 评论 -
找出数组中的次大值
该程序中,首先定义了一个整型数组arr,然后定义了两个变量largest和secondLargest,分别用于存储当前已知的最大值和次大值。开始时,这两个变量的初值都被赋为Integer.MIN_VALUE,即整型的最小值。原创 2022-09-15 22:36:22 · 1139 阅读 · 0 评论 -
创建元素随机且不重复的数组
请创建数组长度为7的int类型数组。数组中的数字为[1,10]中的任意值,但是各元素值各不相同。原创 2012-12-24 12:08:02 · 1920 阅读 · 0 评论 -
判断数字是否为完美数
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:6、28都是完美数。原创 2012-11-18 00:28:29 · 1730 阅读 · 0 评论 -
找出数组中出现次数最多的元素
请找出int类型数组中出现次数最多的元素原创 2012-11-17 23:51:23 · 3213 阅读 · 0 评论 -
判断数字是否为普洛尼克数
普洛尼克数(pronic number),也叫欧波朗数(oblong number),是两个连续非负整数的积,即m=n*(n+1)。开头的几个普洛尼克数是:0, 2, 6, 12,20, 30, 42, 56, 72, 90, 110, 132, 156, 182, 210, 240, 272, 306, 342, 380, 420, 462, 506, 552, 600, 650, 702, 756, 812, 870, 930, 992, 1056, 1122, 1190, 1260.......原创 2012-11-18 01:01:32 · 1474 阅读 · 0 评论 -
找出数组中重复出现的元素
请找出int类型数组中重复出现(不论次数)的元素。原创 2012-11-18 00:29:22 · 1065 阅读 · 1 评论 -
判断字符串是否是回文
请判断字符串是否是回文原创 2012-12-24 14:38:17 · 1658 阅读 · 0 评论 -
交换两个int类型的整数
请用Java语言交换两个int类型的整数原创 2012-11-18 00:30:03 · 1121 阅读 · 0 评论 -
利用while循环逆置整数
利用Java语言的while循环逆置整数。例如,原本整数为9527,逆置后为7259。原创 2013-09-29 18:11:53 · 2549 阅读 · 0 评论 -
判断一个数是否是质数(素数)
利用Java代码判断一个数是否是素数原创 2014-02-02 01:51:30 · 3438 阅读 · 0 评论 -
Java数据结构与算法分析——阶乘
阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号。一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。原创 2012-11-18 00:24:07 · 1246 阅读 · 0 评论 -
Java数据结构与算法分析——斐波拉契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《原创 2020-02-11 20:54:39 · 2447 阅读 · 0 评论 -
Java数据结构与算法分析——求两个字符的最大子串
找出两个字符串中的最大子串,即最大的交集。例如:udappyzk和xzhappymol最大子串为appy原创 2020-10-28 19:18:04 · 1234 阅读 · 3 评论 -
Java数据结构与算法分析——二分法查找
现存一个有序数组{ 2, 5, 8, 12, 16, 23, 38, 56, 72, 91 },请利用二分法查找出元素23所对应的下标index。二分查找的前提是数组中的元素是有序的,否则无法查找。原创 2020-10-27 22:29:08 · 1010 阅读 · 8 评论 -
Java数据结构与算法分析——简单选择排序
现存在一个无序数组{9,1,2,5,7,4,8,6,3,5},请利用简单选择排序将数组按照从小到大(从大到小)排序。取出第一个元素依次与其后的每个元素比较,若大于则交换位置,在第一次排序完成后第一个元素存放的就是数组中的最小值原创 2020-10-27 21:16:45 · 379 阅读 · 0 评论 -
Java数据结构与算法分析——冒泡排序
现存在一个无序数组{1,9,7,5,3},请利用冒泡排序将数组按照从小到大(从大到小)排序。第一趟:一共五个数,比较了4回,流程如下:原创 2020-10-27 20:48:58 · 526 阅读 · 2 评论