算法训练02-就业备战
找工作期间做的一些算法训练。
水牛不喝水
Get busy living.
展开
-
NC127 最长公共子串
描述给定两个字符串str1和str2,输出两个字符串的最长公共子串题目保证str1和str2的最长公共子串存在且唯一。数据范围:1 \le |str1|,|str2| \le 50001≤∣str1∣,∣str2∣≤5000要求: 空间复杂度O(n^2)O(n2),时间复杂度O(n^2)O(n2)示例1输入:"1AB2345CD","12345EF"返回值:"2345"备注:1 \leq |str_1|, |str_2| \leq 5\,000...原创 2022-02-21 20:49:03 · 92 阅读 · 0 评论 -
华为机试 - HJ15 求int型正整数在内存中存储时1的个数
描述输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。数据范围:保证在 32 位整型数字范围内输入描述:输入一个整数(int类型)输出描述:这个数转换成2进制后,输出1的个数示例1输入:5输出:2示例2输入:0输出:0#include<stdio.h>int main(){ int n,sum=0; scanf("%d",&n); while(原创 2022-01-15 09:59:28 · 193 阅读 · 0 评论 -
华为机试 - HJ14 字符串排序
描述给定 n 个字符串,请对 n 个字符串按照字典序排列。数据范围: 1<=n<=1000,字符串长度满足1<=len<=100输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。示例1输入:9captocatcardtwotooupboatboot输出:boatbootcap..原创 2022-01-13 19:38:00 · 225 阅读 · 0 评论 -
华为机试 - HJ13 句子逆序
描述将一个英文语句以单词为单位逆序排放。例如“Iamaboy”,逆序排放后为“boyaamI”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符数据范围:输入的字符串长度满足 1<=n<=1000注意本题有多组输入输入描述:输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。输出描述:得到逆序的句子示例1输入:I am a boy输出:boy a am I示例2输入:nowco...原创 2022-01-13 13:54:35 · 135 阅读 · 0 评论 -
华为机试 - HJ12 字符串反转
描述接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)输入描述:输入一行,为一个只包含小写字母的字符串。输出描述:输出该字符串反转后的字符串。示例1输入:abcd输出:dcba#include<iostream>using namespace std;int main(){ string s; cin>>s; int len=s.size(); for原创 2022-01-11 19:36:27 · 118 阅读 · 0 评论 -
华为机试 - HJ11 数字颠倒
描述输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001数据范围: 0<=n<=2^30-1输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出示例1输入:1516000输出:0006151示例2输入:0输出:0#include<iostream>using namespace std;in原创 2022-01-11 19:34:59 · 202 阅读 · 0 评论 -
华为机试 - HJ10 字符个数统计
描述编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。数据范围: 1<=n<=500输入描述:输入一行没有空格的字符串。输出描述:输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。示例1输入:abc输出原创 2022-01-11 19:28:10 · 596 阅读 · 0 评论 -
华为机试 - HJ9 提取不重复的整数
描述输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0 。数据范围: 1<=n<=10^8输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数示例1输入:9876673输出:37689...原创 2022-01-11 18:35:48 · 181 阅读 · 0 评论 -
华为机试 - HJ8 合并表记录
描述数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。提示:0 <= index <= 111111111 <= value <= 100000输入描述:先输入键值对的个数n(1 <= n <= 500)然后输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)示例1输入:40 10 21原创 2022-01-02 11:01:45 · 124 阅读 · 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向下取整原创 2022-01-01 00:58:17 · 240 阅读 · 0 评论 -
华为机试 - HJ6 质数因子
描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )数据范围: 1<=n<=2*10^9+14输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例1输入:180输出:2 2 3 3 5打印所有素数速度过慢,失败。#include<iostream>#include<cstdio&原创 2021-12-31 22:26:51 · 462 阅读 · 0 评论 -
华为机试 - HJ5 进制转换
描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在 1<=n<=2^31-1注意本题有多组输入输入描述:输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子牛客网在线判题系统使用帮助_站内公告_牛客网处理多组输入的问题。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。示例1输入:0xA0xAA输出:10170解法一(利用ASCII码):#in原创 2021-12-31 17:35:30 · 430 阅读 · 0 评论 -
华为机试 - HJ4 字符串分隔
描述•连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。(注:本题有多组输入)输入描述:连续输入字符串(输入多次,每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串示例1输入:abc123456789输出:abc000001234567890000000解法一(字符串一个一个输出):#include<iostream>#incl原创 2021-12-31 15:15:46 · 287 阅读 · 0 评论 -
华为机试 - HJ2 计算某字符出现次数
描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1<=n<=1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)示例1输入:ABCabcA复制输出:2#include<stdio.h>#include<ctype.h>in原创 2021-12-30 12:10:49 · 383 阅读 · 0 评论 -
华为机试 - HJ3 明明的随机数
描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数( N≤1000 ),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据(用于不同的调查),希望大家能正确处理)。注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。当没有新的输入时,说明原创 2021-12-31 13:42:40 · 166 阅读 · 0 评论 -
华为机试 - HJ1 字符串最后一个单词的长度
描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。示例1输入:hello nowcoder复制输出:8复制说明:最后一个单词为nowcoder,长度为8用C提交通过的代码#include<stdio.h>#include<string.h&原创 2021-12-29 20:46:27 · 367 阅读 · 0 评论