首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
chstor
获赞
90
粉丝
23
关注
20
看过 TA
222
男
门头沟学院
2023
Java
IP属地:四川
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑chstor吗?
发布(255)
评论
刷题
收藏
chstor
关注TA,不错过内容更新
关注
2020-09-18 15:53
已编辑
门头沟学院 Java
插入排序
文章目录 一、直接插入排序 二、折半插入排序 三、希尔排序 一、 直接插入排序 /*直接插入排序*/ void InsertSort(int A[],int n){ int i,j; for(i=2;i<=n;i++){ A[0]=A[i]; for(j=i-1;A[0]<A[j];j--) A[j+1]=A[j]; A[j+1]=A[0]; } } 二、折半插入排序 两者之间可能的不同之处是元素之间的比较次数 /*折半插入排序*/ void BInsertSort(int A[],int n)...
0
点赞
评论
收藏
分享
2020-09-18 15:53
已编辑
门头沟学院 Java
交换排序(冒泡、快速)
文章目录 一、 交换排序的思路 二、冒泡排序 三、快速排序 一、 交换排序的思路 /*交换函数*/ void swap(int a[],int i,int j) { int temp=a[i]; a[i]=a[j]; a[j]=temp; } 二、冒泡排序 /*冒泡排序优化版*/ void BubbleSort() { int i,j; int flag=1; for(i=1;i<n;i++) { flag=0; for(j=i+1;j<=n;j++) { if(a[i]>a[j...
0
点赞
评论
收藏
分享
2020-09-18 15:53
已编辑
门头沟学院 Java
选择排序(堆排序、简单选择排序)
文章目录 一、 选择排序思路 二、简单选择排序 三、 堆排序 一、 选择排序思路 二、简单选择排序 /*简单选择排序*/ void SelectSort(int A[],int n) { for(int i=0;i<n-1;i++) { int min=i; for(int j=i+1;j<n;j++) { if(A[j]<A[min]) min=j; } if(min!=i) swap(A[i],A[min]); } } 三、堆排序 一、由一个无序序列建一个堆 二...
0
点赞
评论
收藏
分享
2020-09-18 15:52
已编辑
门头沟学院 Java
归并排序
文章目录 一、 归并排序的思路 二、 代码实现 一、 归并排序的思路 归并趟数的数量级是O(logN) 对N个记录进行归并排序,空间复杂度为O(N) 二、代码实现 /*合并两个有序线性表*/ itn *B=(int *)malloc((n+1)*sizeof(int)); void Merge(int A[],int low,int mid,int high){ for(int k=low;k<=high;k++) B[k]=A[k]; for(int i=low,int j=mid+1,int k=i;i<=mid&&am...
0
点赞
评论
收藏
分享
2020-09-18 15:52
已编辑
门头沟学院 Java
基数排序
文章目录 一、基数排序的概念 二、时间复杂度 三、实例演示 一、基数排序的概念 二、时间复杂度 三、实例演示
0
点赞
评论
收藏
分享
2020-09-18 15:51
已编辑
门头沟学院 Java
排序的总结
从算法的简单性来看,将七种算法分为两类: 简单算法:冒泡、简单选择、直接插入 改进算法:希尔、堆、归并、快速
0
点赞
评论
收藏
分享
2020-09-18 15:51
门头沟学院 Java
L1-006 连续因子 (20分)
解题思路 对于N而言 有两种情况 N为质数,我们也就只需要输出 1 和 N就足够了 N为合数,由于1<N<2^31 而2^31为2147483648 13!=6227020800 则 若连续数目应小于13(连续因子可取1到12) L1-006 连续因子 (20分) 一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。 输入格式: 输入在一行中给出一个正整数 N(1<N<2^31 )。 输...
0
点赞
评论
收藏
分享
2020-09-18 15:51
已编辑
门头沟学院 Java
L1-009 N个数求和 (20分)
L1-009 N个数求和 (20分) 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。 输出格式: 输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只输出分数部分。 输入样例1: 5 2/5 4/15 1/30 -2/60 8/...
0
点赞
评论
收藏
分享
2020-09-18 15:50
门头沟学院 Java
L1-011 A-B (20分)
L1-011 A-B (20分) 本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。 输入格式: 输入在2行中先后给出字符串A和B。两字符串的长度都不超过10^4,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。 输出格式: 在一行中打印出A−B的结果字符串。 输入样例: I love GPLT! It's a fun game! aeiou 输出样例: I lv GPLT! It's fn gm! 作者: 陈越 单位: 浙江大学 时间限制: 150 ms...
0
点赞
评论
收藏
分享
2020-09-18 15:50
已编辑
门头沟学院 Java
L1-016 查验身份证 (15分)
L1-016 查验身份证 (15分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值: Z:0 1 2 3 4 5 6 7 8 9 10 M:1 0 X 9 8 7 6 5 4 3 2 现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。 输入格式: 输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位...
0
点赞
评论
收藏
分享
2020-09-18 15:50
门头沟学院 Java
L1-017 到底有多二 (15分)
L1-017 到底有多二 (15分) 一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。 输入格式: 输入第一行给出一个不超过50位的整数N。 输出格式: 在一行中输出N犯二的程度,保留小数点后两位。 输入样例: -13142223336 输出样例: 81.82% #include<iostream&...
0
点赞
评论
收藏
分享
2020-09-18 15:49
门头沟学院 Java
L1-019 谁先倒 (15分)
L1-019 谁先倒 (15分) 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。 下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。 输入格式: 输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为: 甲喊 甲划 乙喊 乙划 其中喊是喊出的数字,划是划出的数字,均为不超过10...
0
点赞
评论
收藏
分享
2020-09-18 15:49
已编辑
门头沟学院 Java
L1-020 帅到没朋友 (20分)
L1-020 帅到没朋友 (20分) 当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。 输入格式: 输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的ID,以空格分隔。 注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是只有自己一个人在朋友圈的人。虽然有...
0
点赞
评论
收藏
分享
2020-09-18 15:49
门头沟学院 Java
L1-023 输出GPLT (20分)
L1-023 输出GPLT (20分) 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT…这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。 输入格式: 输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。 输出格式: 在一行中按题目要求输出排序后的字符串。题目保证输出非空。 输入样例: pcTclnGloRgLrtLhgljkLhGFauPewSKgt 输出样例: GPLTGPLTGLTGLG...
0
点赞
评论
收藏
分享
2020-09-18 15:48
已编辑
门头沟学院 Java
L1-025 正整数A+B (15分)
L1-025 正整数A+B (15分) 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。 注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。 输出格式: 如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入不合要求,则在相应位置输出?,显然此时和也是?。 输入样例1: 123 456 ...
0
点赞
评论
收藏
分享
1
7
8
9
10
11
17
关注他的用户也关注了:
牛客网
牛客企业服务