
牛客网 - 练习
牛客网做题留下笔记
未停丶
这个作者很懒,什么都没留下…
展开
-
HJ108 求最小公倍数
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。数据范围:1≤a,b≤100000。输出A和B的最小公倍数。输入两个正整数A和B。原创 2023-03-22 22:06:03 · 187 阅读 · 0 评论 -
HJ51 输出单向链表中倒数第k个结点
数据范围:链表长度满足 1≤n≤1000,k≤n,链表中数据满足 0≤val≤10000。输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。正常返回倒数第k个结点指针,异常返回空指针.(2)构建后要忘记链表长度。(1)正序构建链表;本题有多组样例输入。1 输入链表结点个数。原创 2023-03-19 22:39:32 · 387 阅读 · 0 评论 -
HJ27 查找兄弟单词
第一行输出查找到x的兄弟单词的个数m 第二行输出查找到的按照字典顺序排序后的第k个兄弟单词,没有符合第k个的话则不用输出。定义一个单词的“兄弟单词”为:交换该单词字母顺序(注:可以交换任意次),而不添加、删除、修改原有的字母就能生成的单词。现在给定你 n 个单词,另外再给你一个单词 x ,让你寻找 x 的兄弟单词里,按字典序排列后的第 k 个单词是什么?先输入字典中单词的个数n,再输入n个单词作为字典单词。数据范围:1≤n≤1000 ,输入的字符串长度满足 1≤len(str)≤10,1≤k原创 2023-03-18 21:11:47 · 298 阅读 · 0 评论 -
HJ28 素数伴侣
若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的 N ( N 为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最佳方案”,当然密码学会希望你寻找出“最佳方案”。输出一个整数 K ,表示你求得的“最佳方案”组成“素数伴侣”的对数。原创 2023-03-19 12:06:53 · 183 阅读 · 0 评论 -
HJ30 字符串合并处理
*第二步:**对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。例如刚刚得到的字符串“decfab”,分别对下标为偶数的字符’d’、‘c’、‘a’和下标为奇数的字符’e’、‘f’、'b’进行排序(生成 ‘a’、‘c’、‘d’ 和 ‘b’ 、‘e’ 、‘f’),再依次分别放回原串中的偶数位和奇数位,新字符串变为“abcedf”如字符 ‘7’,其二进制为 0111 ,则翻转后为 1110 ,对应的十进制是14,转换为十六进制的大写字母为 ‘E’。转换后的字符为 ‘2’。原创 2023-03-19 17:02:09 · 444 阅读 · 0 评论 -
HJ31 单词倒排
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;:字符串长度满足 1≤n≤10000。对字符串中的所有单词进行倒排。4、每个单词最长20个字母;输入一行,表示用来倒排的句子。原创 2023-03-19 21:23:26 · 309 阅读 · 0 评论 -
HJ23 删除字符串中出现次数最少的字符
实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。1≤n≤20 ,保证输入的字符串中仅出现小写字母。删除字符串中出现次数最少的字符后的字符串。数据范围:输入的字符串长度满足。输入:aabcddd。原创 2023-03-18 20:16:04 · 391 阅读 · 0 评论 -
HJ27 查找兄弟单词
代码】HJ27 查找兄弟单词。原创 2022-08-10 23:29:40 · 71 阅读 · 0 评论 -
HJ22 汽水瓶
输入文件最多包含 10 组测试数据,每个数据占一行,仅包含一个正整数 n( 1原创 2022-08-10 21:27:36 · 174 阅读 · 0 评论 -
HJ35 蛇形矩阵
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:1 3 6 10 152 5 9 144 8 137 1211输入正整数N(N不大于100)输出一个N行的蛇形矩阵。原创 2022-08-08 22:29:34 · 202 阅读 · 0 评论 -
HJ48 从单向链表中删除指定值的节点
数据范围:链表长度满足 1 \le n \le 1000 \1≤n≤1000 ,节点中的值满足 0 \le val \le 10000 \0≤val≤10000。输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。删掉节点3,返回的就是2->5->4->1。链表为2->7->3->1->5->4。形成的链表为2->5->3->4->1。链表为2->3->1->5->4。链表为2->3->1->5。4 输入要删除的结点的值。链表为2->3->1。......原创 2022-08-02 23:24:10 · 198 阅读 · 0 评论 -
HJ46 截取字符串
数据范围:字符串长度满足 1 \le n \le 1000 \1≤n≤1000 , 1 \le k \le n \1≤k≤n。输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出。2.输入一个正整数k,代表截取的长度。1.输入待截取的字符串。...原创 2022-08-02 22:03:41 · 182 阅读 · 0 评论 -
HJ21 简单密码
九键手机键盘上的数字与字母的对应1–1,abc–2,def–3,ghi–4,jkl–5,mno–6,pqrs–7,tuv–8wxyz–9,0–0,把密码中出现的小写字母都变成九键键盘对应的数字,如a变成2,x变成9.而密码中出现的大写字母则变成小写之后往后移一位,如X,先变成小写,再往后移一位,变成了y,例外Z往后移是a。数据范围输入的字符串长度满足1≤n≤100。输入一组密码,长度不超过100个字符。数字和其它的符号都不做变换。......原创 2022-08-01 22:43:07 · 2029 阅读 · 0 评论 -
HJ29 字符串加解密
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;输入的两个字符串长度满足1000\1≤n≤1000,保证输入的字符串都是只由大小写字母或者数字组成。当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;对输入的字符串进行加解密,并输出。第一行输入一串要加密的密码。第二行输入一串加过密的密码。解密方法为加密的逆过程。第一行输出加密后的字符。第二行输出解密后的字符。...原创 2022-07-31 23:07:42 · 370 阅读 · 0 评论 -
HJ20 密码验证合格程序(不能有长度大于2的包含公共元素的子串重复 )
3.不能有长度大于2的包含公共元素的子串重复(注其他符号不含空格或换行)2.包括大小写字母.数字.其它符号,以上四种至少三种。数据范围输入的字符串长度满足1≤n≤100。如果符合要求输出OK,否则输出NG。.........原创 2022-07-31 22:27:30 · 1094 阅读 · 0 评论 -
HJ26 字符串排序( 先提取不需要排序的非英文字母 + 冒泡排序)
输入AFamousSayingMuchAdoAboutNothing(2012/8).**规则2**同一个英文字母的大小写同时存在时,按照输入顺序排列。**规则1**英文字母从A到Z排列,不区分大小写。**规则3**非英文字母的其它字符保持原来的位置。**数据范围**输入的字符串长度满足1≤n≤1000。编写一个程序,将输入字符串中的字符按如下规则排序。如,输入Type输出epTy。如,输入BabA输出aABb。...原创 2022-07-28 23:11:28 · 10784 阅读 · 0 评论 -
HJ15 求int型正整数在内存中存储时1的个数(n&0x1 !=0 判断二进制中1的个数)
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。数据范围保证在32位整型数字范围内。这个数转换成2进制后,输出1的个数。输入一个整数(int类型)原创 2022-07-28 21:43:57 · 180 阅读 · 0 评论 -
HJ14 字符串排序(数组指针+冒泡排序)
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。数据范围1≤n≤1000,字符串长度满足1≤len≤100。给定n个字符串,请对n个字符串按照字典序排列。数据输出n行,输出结果为按照字典序排列的字符串。......原创 2022-07-27 22:38:13 · 383 阅读 · 0 评论 -
HJ13 句子逆序
将一个英文语句以单词为单位逆序排放。原创 2022-07-26 23:28:27 · 246 阅读 · 0 评论 -
HJ12 字符串反转
接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)输入一行,为一个只包含小写字母的字符串。输出该字符串反转后的字符串。原创 2022-07-25 22:54:54 · 104 阅读 · 0 评论 -
HJ11 数字颠倒
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001。输入一个整数,将这个整数以字符串的形式逆序输出。数据范围0≤n≤2^{30}-1。将这个整数以字符串的形式逆序输出。输入1516000。输出0006151。...原创 2022-07-25 22:46:14 · 95 阅读 · 0 评论 -
HJ10 字符个数统计
编写一个函数,计算字符串中含有的不同字符的个数。字符在ASCII码范围内(0~127,包括0和127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。例如,对于字符串abaca而言,有a、b、c三种不同的字符,因此输出3。输出输入字符串中范围在(0~127,包括0和127)字符的种数。数据范围1≤n≤500。输入一行没有空格的字符串。...原创 2022-07-21 22:44:36 · 178 阅读 · 0 评论 -
HJ9 提取不重复的整数
提取不重复的数原创 2022-07-20 22:11:40 · 114 阅读 · 0 评论 -
HJ8 合并表记录
描述数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。提示:0 <= index <= 111111111 <= value <= 100000输入描述:先输入键值对的个数n(1 <= n <= 500)接下来n行每行输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)示例1输入: 4 0 1 0 2原创 2022-05-24 23:22:54 · 154 阅读 · 0 评论 -
HJ6 质数因子 (double sqrt(double x) 返回 x 的平方根)
描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )数据范围: 1≤n≤2^10 +14输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。示例1输入:180输出:2 2 3 3 5实现#include <stdio.h>#include <stdlib.h>int main(){ unsigned long int num; s原创 2022-05-20 22:39:16 · 133 阅读 · 0 评论 -
HJ5 进制转换
描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在 1≤n≤2 ^31-1输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。示例1输入:0xAA输出:170实现#include <stdio.h>#include <string.h>int main(){ char ch; int tmp, cnt = 1, len = 0; char原创 2022-05-19 23:12:32 · 173 阅读 · 0 评论 -
HJ7 取近似值
描述写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。数据范围:保证输入的数字在 32 位浮点数范围内输入描述:输入一个正浮点数值输出描述:输出该数值的近似整数值示例1输入:5.5输出:6说明:0.5>=0.5,所以5.5需要向上取整为6 示例2输入:2.499输出:2说明:0.499<0.5,2.499向下取整为2 实现#include <stdio.h>原创 2022-05-19 22:21:08 · 120 阅读 · 0 评论 -
HJ4 字符串分隔
描述输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串示例1输入: abc输出: abc00000实现#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int i = 0;原创 2022-05-18 22:17:23 · 313 阅读 · 0 评论 -
HJ1 字符串最后一个单词的长度(strchr找到空格即最后一个单词)
字符串最后一个单词的长度描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。hello nowcoder8说明:最后一个单词为nowcoder,长度为8 ......原创 2022-05-15 20:35:08 · 329 阅读 · 0 评论 -
HJ3 明明的随机数(数组下标去重)
描述明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。数据范围: 1≤n≤1000 ,输入的数字大小满足 1≤val≤500输入描述:第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。输出描述:输出多行,表示输入数据处理后的结果示例1输入: 3 2 2 1输出:1原创 2022-05-18 21:42:38 · 191 阅读 · 0 评论 -
HJ2 计算某字符出现次数(不区分大小写-tolower函数转换成小写)
描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1 \le n \le 1000 \1≤n≤1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)输入:ABCabcA输出:2#include <stdio.h>#include <string.h>#define M_原创 2022-05-16 22:49:54 · 78 阅读 · 0 评论