算法
文章平均质量分 62
江南小帅瓜hyf
这个作者很懒,什么都没留下…
展开
-
LeetCode07整数反转(JAVA)
LeetCode题解(JAVA)LeetCode07——整数反转LeetCode题解(JAVA)题目描述思路代码实现题目描述给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。提示:以下是本篇文章正文内容,下面案例可供参考思路整数反转,就是将原先在末尾的数字,移动到首位;倒数第二位数移动至正数第二位……若原整数为原创 2022-05-11 23:26:26 · 199 阅读 · 0 评论 -
LeetCode两数之和(JAVA)
LeetCode题解系列(JAVA)LeetCode题库01——两数之和(JAVA)LeetCode01——两数之和LeetCode题解系列(JAVA)题目描述解决方案1、方案一:强行计算2、方案二:暴力枚举2.2 方法思路题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1原创 2022-05-10 22:48:53 · 538 阅读 · 0 评论 -
利用单向循环链表解决约瑟夫问题(JAVA)
约瑟夫问题约瑟夫问题题意分析思路创建节点创建链表遍历链表编号出圈测试约瑟夫问题n 个人围成一圈,从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 11 开始报数,数到 m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。题意分析博客是根据视频学习所做的笔记:尚硅谷JAVA数据结构与算法——约瑟夫问题题目解读:假设共5人围成一圈,编号依次为1、2、3、4、5,每次报数2,即n=5,m=2。那么出圈的顺序应该是?从1开始报数,数两下,则编号为2的人应该成为第一个出圈的原创 2020-09-04 22:27:17 · 369 阅读 · 0 评论 -
删除排序数组中的重复项(JAVA)
删除排序数组中的重复项题目个人思路:理解为求数字的种类官方思路:双指针法代码题目给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,原创 2020-08-25 09:46:15 · 323 阅读 · 0 评论 -
隔板法求解不定方程x1+x2+x3=5解的个数
隔板法求解不定方程的解的个数文章目录隔板法求解不定方程的解的个数1、求正整数解的个数——普通隔板法2、求非负整数解的个数——添加元素隔板法1、求正整数解的个数——普通隔板法将不定方程想象成解决小球的问题:5个小球排成一排,中间形成4个空隙,将两个隔板插入到这4个空隙中,使5个小球被分为3部分:注: 因为要求是正整数,所以每空至多插入一块隔板,否则球被分为2部分,意味着存在为0的解,不符合“正整数”的限制隔板分割的球数则代表了x1,x2,x3对应的值,解的个数为:C(4,2)=6个2、求非负整数原创 2020-08-06 22:31:17 · 5425 阅读 · 1 评论 -
LintCode: 给出两个整数 a 和 b , 求他们的和
LintCode:给出两个整数 a 和 b , 求他们的和(不使用++等算数运算符)说明:a和b都是 32位 整数么?是的我可以使用位运算符么?当然可以挑战显然你可以直接 return a + b,但是你是否可以挑战一下不这样做?(不使用++等算数运算符)普通情况下,求两数的和,直接return a+b就可以解决了,但既然这里要求不使用算数运算符,我们就可以考虑位运算。从十进制运...原创 2020-03-26 13:51:02 · 1027 阅读 · 0 评论 -
聚类算法的改进——DBSCAN
聚类算法的改进——DBSCANK-means算法有几个明显的缺点,例如需要用户指定聚类数目,而且聚类的形状比较有局限性。这里考虑采用DBSCAN(Density - Based Spatial Clustering of Applications with Noise)该算法将具有足够高密度的区域划分为簇,并可以发现任何形状的聚类DBSCAN和K-Means的比较:1、 DBSCAN和K...原创 2019-07-04 11:16:08 · 5925 阅读 · 1 评论 -
K-means代码实现(sklearn)
K-means代码实现(sklearn)载入数据设置k值k = 4训练模型# 训练模型model = KMeans(n_clusters=k)model.fit(data)分类中心点坐标centers = model.cluster_centers_print(centers)预测结果result = model.predict(data)print(result)...原创 2019-07-04 10:43:57 · 3065 阅读 · 0 评论 -
K-means算法代码实现(python)
K-means算法代码实现以及解决质心选择问题计算距离距离通常使用欧几里得距离来衡量def euclDistance(vector1, vector2): return np.sqrt(sum((vector2 - vector1) ** 2))初始化质心def initCentroids(data, k): numSamples, dim = data.shape ...原创 2019-07-04 10:20:20 · 18736 阅读 · 8 评论 -
饮料换购
饮料换购问题:乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。输入:一个整数n,表示开始购买的饮料数量(0<n<10000)输出:一个整数,表示实际得到的饮料数例如:用户输入:100程序应...原创 2019-05-23 21:50:18 · 916 阅读 · 1 评论 -
Java:字母图形
字母图形问题描述:利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFG...原创 2019-05-25 20:43:14 · 2903 阅读 · 9 评论 -
蓝桥JAVA:数列特征
蓝桥JAVA:数列特征问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-23数据规模与约定1 <= n ...原创 2019-05-25 21:03:26 · 166 阅读 · 0 评论 -
蓝桥JAVA:杨辉三角形
蓝桥JAVA:杨辉三角形问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的...原创 2019-05-25 21:19:45 · 315 阅读 · 0 评论 -
蓝桥杯java:特殊的数字
蓝桥杯java:特殊的数字问题描述 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。输出格式按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。解:依次求出各位的数字即可百位:i/100十位:i%100/10;个位:i%10public class lanqiao{ public stati...原创 2019-05-25 22:37:25 · 648 阅读 · 0 评论 -
蓝桥杯java:回文数
蓝桥杯java基础练习:回文数问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式按从小到大的顺序输出满足条件的四位十进制数。解:求各位数再做判断即可public class lanqiao{ public static void main(String args[]){ for(int i = 1000;i < 10...原创 2019-05-25 22:42:06 · 440 阅读 · 0 评论 -
蓝桥杯java基础练习:特殊回文数
蓝桥杯java基础练习:特殊回文数问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899...原创 2019-05-27 10:19:54 · 255 阅读 · 0 评论 -
蓝桥杯java基础练习:十进制转十六进制
蓝桥杯java基础练习:十进制转十六进制问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成...原创 2019-05-27 10:22:53 · 517 阅读 · 0 评论 -
蓝桥杯java基础练习:十六进制转十进制
蓝桥杯java基础练习:十六进制转十进制问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535解:F的十进制为15,65535=15×16³+15×16²+15×16+15×1有了这个式子,就可以利用循环来实现进制转换...原创 2019-05-27 16:20:16 · 977 阅读 · 0 评论 -
蓝桥杯java:基础练习 十六进制转八进制
蓝桥杯java:基础练习 十六进制转八进制问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。注意 输入的十六进制数不会有...原创 2019-05-27 19:56:18 · 481 阅读 · 0 评论 -
Java:01字串
01字串问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011解答:直接暴力解法,5个循环凑上。pub...原创 2019-05-24 17:20:06 · 424 阅读 · 0 评论