- 博客(75)
- 收藏
- 关注
原创 【Python编程从入门到实践】第二章
2-1 简单消息:将一条消息存储到变量中,再将其打印出来。# 2-2 多条简单消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。# 2-3 个性化消息:将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?# 2-4 调整名字的大小写:将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。
2024-02-14 18:41:22
390
原创 最近在做的事_2023第一季度
多日不见,再次打开CSDN网站,浏览器自动切换成了新版编辑器,要不是点了一下左下角的“接环旧版编辑器”,我还以为是CSDN的编辑器更新了呢。 最近一个月的时间,拿到了一个收留心碎985二战考研生的offer,base在北京。并且,最后几面安排在了考研的第二天。我没有去初试,所以于我而言,已经没有退路了。
2023-01-24 20:57:59
300
原创 华为机试_HJ63 DNA序列【中等】
G 和 C 的比例(定义为 GC-Ratio )是序列中 G 和 C 两个字母的总的出现次数除以总的字母数目(也就是序列长度)。给定一个很长的 DNA 序列,以及限定的子串长度 N ,请帮助研究人员在给出的 DNA 序列中从左往右找出 GC-Ratio 最高且长度为 N 的第一个子串。数据范围:字符串长度满足 1≤n≤1000 ,输入的字符串只包含 A/C/G/T 字母。strcpy(第3步设置的长度为N的字符串, 滑动窗口)4. 设置一个max=0,用来表示滑动窗口中,出现G||C的最大数目。
2022-12-22 21:58:06
464
原创 华为机试_HJ67 24点游戏算法【中等】【dfs】
给出4个1-10的数字,通过加减乘除运算,得到数字为24就算胜利,除法指实数除法运算,运算符仅允许出现在两个数字之间,本题对数字选取顺序无要求,但每个数字仅允许使用一次,且需考虑括号运算。此题允许数字重复,如3 3 4 4为合法输入,此输入一共有两个3,但是每个数字只允许使用一次,则运算过程中两个3都被选取并进行对应的计算操作。对于每组案例,输出一行表示能否得到24点,能输出true,不能输出false。读入4个[1,10]的整数,数字允许重复,测试用例保证无异常数字。
2022-12-22 21:38:36
375
原创 华为机试_HJ27 查找兄弟单词【中等】
第一行输出查找到x的兄弟单词的个数m 第二行输出查找到的按照字典顺序排序后的第k个兄弟单词,没有符合第k个的话则不用输出。定义一个单词的“兄弟单词”为:交换该单词字母顺序(注:可以交换任意次),而不添加、删除、修改原有的字母就能生成的单词。现在给定你 n 个单词,另外再给你一个单词 x ,让你寻找 x 的兄弟单词里,按字典序排列后的第 k 个单词是什么?先输入字典中单词的个数n,再输入n个单词作为字典单词。1. 判断是否为兄弟单词(根据单词的长度是否相等,以及是否是原来的单词)注意:字典中可能有重复单词。
2022-12-22 20:54:08
716
原创 华为机试_HJ20 密码验证合格程序【中等】【收藏】
3.不能有长度大于2的包含公共元素的子串重复 (注:其他符号不含空格或换行)2.包括大小写字母.数字.其它符号,以上四种至少三种。数据范围:输入的字符串长度满足 1≤n≤100。如果符合要求输出:OK,否则输出NG。
2022-12-22 20:39:57
105
原创 全排列思路
下一次应该是2 1 3 4,再重复3和4交换,在回到2 1 3 4;然后先1和3交换变成2 3 1 4(以及1和4交换变成2 3 4 1),回到2 1 3 4;然后,“回溯”指的是,在每次交换位置并进行输出后,把交换过的元素放回到原来的位置。1 3 4 2(输出后先回溯到1 3 2 4这样的排列,再回溯到1 2 3 4这样的排列)1 4 2 3(输出后先回溯到1 4 3 2这样的排列,再回溯到1 2 3 4这样的排列)1 2 4 3(输出后回溯到1 2 3 4这样的排列)一晚上的时间,终于弄懂了。
2022-12-22 20:31:26
627
原创 华为机试_HJ45 名字的漂亮度【中等】【贪心】
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。给出一个字符串,该字符串仅由小写字母组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。给出多个字符串,计算每个字符串最大可能的“漂亮度”。数据范围:输入的名字长度满足 1≤n≤10000。第一行一个整数N,接下来N行每行一个字符串。每个字符串可能的最大漂亮程度。
2022-12-22 16:10:26
127
原创 华为机试_HJ41 称砝码【中等】【menset】【多重背包】【动态规划】【收藏】
每种砝码对应的数量为 x1,x2,x3...xn。现在要用这些砝码去称物体的重量(放在同一侧),问能称出多少种不同的重量。第三行:x1 x2 x3 .... xn --- 每种砝码对应的数量(范围[1,10])第二行:m1 m2 m3 ... mn --- 每种砝码的重量(范围[1,2000])数据范围:每组输入数据满足1≤n≤10,1≤mi≤2000,1≤xi≤10。现有n种砝码,重量互不相等,分别为 m1,m2,m3…第一行:n --- 砝码的种数(范围[1,10])
2022-12-22 15:28:54
489
原创 华为机试_HJ38 求小球落地5次后所经历的路程和第5次反弹的高度【中等】
假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半;再落下, 求它在第5次落地时,共经历多少米?数据范围:输入的小球初始高度满足1≤n≤1000 ,且保证是一个整数。注意:你可以认为你输出保留六位或以上小数的结果可以通过此题。分别输出第5次落地时,共经过多少米以及第5次反弹多高。输入起始高度,int型。
2022-12-21 22:54:53
93
原创 华为机试_HJ92 在字符串中找出连续最长的数字串【中等】
输入一个字符串,返回其最长的数字子串,以及其长度。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)输出字符串中最长的数字字符串和它的长度,中间用逗号间隔。如果有相同长度的串,则要一块儿输出(中间不要输出空格)。数据范围:字符串长度1≤n≤200 , 保证每组输入都至少含有一个数字。1
2022-12-21 21:37:52
66
原创 华为机试_HJ36 字符串加密【中等】
下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,将所得结果作为新字母表开头,并将新建立的字母表中未出现的字母按照正常字母表顺序加入新字母表。在对信息进行加密时,信息中的每个字母被固定于顶上那行,并用下面那行的对应字母一一取代原文的字母(字母字符的大小写状态应该保留)。T R A I L B Z E S C D F G H J K M N O P Q U V W X Y (实际需建立小写字母的字母表,此字母表仅为方便演示)
2022-12-21 21:23:29
94
原创 华为机试_HJ103 Redraiment的走法【中等】【动态规划】
Redraiment是走梅花桩的高手。Redraiment可以选择任意一个起点,从前到后,但只能从低处往高处的桩子走。他希望走的步数最多,你能替Redraiment研究他最多走的步数吗?数据范围:每组数据长度满足1≤n≤200 , 数据大小满足1≤val≤350。数据共2行,第1行先输入数组的个数,第2行再输入梅花桩的高度。
2022-12-21 19:09:14
164
原创 华为机试_HJ107 求解立方根【中等】【二分法】【pow函数】
待求解参数,为double类型(一个实数)第一反应是穷举法,但是题目上说是用二分法。计算一个浮点数的立方根,不使用库函数。数据范围:∣val∣≤20。
2022-12-21 18:10:08
236
原创 华为机试_HJ17 坐标移动【中等】【收藏】
开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。数据范围:每组输入的字符串长度满足1≤n≤10000 ,坐标保证满足−231≤x,y≤231−1 ,且数字部分仅含正数。合法坐标为A(或者D或者W或者S) + 数字(两位以内)+ B10A11 = 无效。+ A1A = 无效。+ x = 无效。结果 (10, -10)最终坐标,以逗号分隔。
2022-12-19 22:34:33
145
原创 136. 只出现一次的数字【简单】【收藏】
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
2022-12-15 23:51:26
65
原创 华为机试_HJ99 自守数【简单】
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n(包括n)以内的自守数的个数。数据范围: 1≤n≤10000。注意的点是,一定要读懂题!n以内自守数的数量。
2022-12-09 21:21:00
149
原创 华为机试_HJ60 查找组成一个偶数最接近的两个素数【简单】
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。数据范围:输入的数据满足4≤n≤1000输入描述:输入一个大于2的偶数输出描述:从小到大输出两个素数解题过程质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。思路是:建立一个数组,存放2~n中的素数。除了2之外都是奇数,所以长度定为5
2022-12-09 21:00:50
154
原创 华为机试_HJ61 放苹果【简单】【收藏】
1、有至少一个盘子空着,原则上相当于f(m,n) = f(m,n-1) + f(m,n-2) + f(m,n-3)... 但是考虑到f(m,n-2)包含在f(m,n-1)中(这里思考下!当mm) f(m,n) = f(m,m) 问题变成m个苹果,m个盘子的问题。则总的放苹果的放法数目等于两者的和,即 f(m,n) =f(m,n-1)+f(m-n,n)设f(m,n)为m个苹果,n个盘子的放法数目,则先对n作讨论,
2022-12-09 20:09:23
645
原创 华为机试_HJ102 字符统计【简单】
输入一个只包含小写英文字母和数字的字符串,按照不同字符统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASCII码由小到大排序输出。一个字符串,为不同字母出现次数的降序表示。若出现次数相同,则按ASCII码的升序输出。以及学到好的方法时,用就可以了,没必要为了证明自己而死磕自己的笨方法。数据范围:字符串长度满足1≤len(str)≤1000。一时半会写不出来的代码,睡一晚上就好了。一个只包含小写英文字母和数字的字符串。2. 要注意细节,到底是正序还是倒序。
2022-12-09 18:43:27
130
原创 华为机试_HJ62 查找输入整数二进制中1的个数【简单】【收藏】
目录描述输入描述:输出描述:解题过程提交代码一(常规方法)提交代码二(位运算方法)学习代码代码一代码二收藏点输入一个正整数,计算它在二进制下的1的个数。注意多组输入输出!!!!!!数据范围:1≤n≤2^31−1 输入一个整数计算整数二进制中1的个数啪的一下啊,很快啊。我觉得是考察多组出入输出。不对,上面写的是考察位运算。所以,以后确实要看考察点了,不能随便写。提交代码二(位运算方法)学习代码代码一(来源:https://www.nowcoder.com/users/297309805
2022-12-07 23:16:41
372
原创 华为机试_HJ56 完全数计算【简单】【半收藏】
目录描述输入描述:输出描述:解题过程提交代码学习代码收藏点完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。输入n,请输出n以内(含n)完全数的个数。数据范围: 1≤n≤5×105 输入一个数字n输出不超过n的完全数的个数略学习代码略1. 求约数,遍历到根植即可。
2022-12-07 22:29:55
100
原创 华为机试_HJ14 字符串排序【简单】【半收藏】
给定 n 个字符串,请对 n 个字符串按照字典序排列。数据范围:1≤n≤1000 ,字符串长度满足 1≤len≤100 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。数据输出n行,输出结果为按照字典序排列的字符串。上个月曾经考虑过提交代码的这种思路,也考虑过更为复杂的思路比如说自己写类似于strcmp函数()。于我,完成这题的困难之处在于,arr[i][j]作为一个二维数组,尝试以arr[0]作为第二维的首地址,结果实现了,说明我想的是
2022-12-07 22:12:02
203
原创 华为机试_HJ33 整数与IP地址间的转换【简单】【收藏】
原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字 相对应的二进制数10 000010100 000000003 00000011193 11000001组合起来即为:00001010 00000000 0
2022-12-07 14:44:47
70
原创 华为机试_HJ73 计算日期到天数转换【简单】
根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(1)\O(1) 输入一行,每行空格分割,分别是年,月,日输出是这一年的第几天1、判断闰年 笑死连闰年都忘记了,来源百度词条。2、如何加天数,使用的是数组。收藏点判断闰年的方式。
2022-12-07 00:52:25
141
原创 华为机试_HJ34 图片整理【简单】【半收藏】
Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过代码解决。Lily使用的图片使用字符"A"到"Z"、"a"到"z"、"0"到"9"表示。数据范围:每组输入的字符串长度满足1≤n≤1000 一行,一个字符串,字符串中的每个字符表示一张Lily使用的图片。Lily的所有图片按照从小到大的顺序输出最好还是不要把order的大小定位62,省这点空间...会很麻烦,后续。用的是标志位的方法。收藏点如果赋值并且要根
2022-12-07 00:06:34
123
原创 华为机试_HJ31 单词倒排【简单】【收藏】
目录描述输入描述:输出描述:解题过程提交代码学习代码收藏点对字符串中的所有单词进行倒排。说明:1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;数据范围:字符串长度满足1≤n≤10000 输入一行,表示用来倒排的句子输出句子的倒排结果化繁为简,方法很重要,这道题多学了一个方法。学习代码(来源:https://www.
2022-12-06 23:26:35
104
原创 华为机试_HJ81 字符串字符匹配【简单】【收藏!】
目录描述输入描述:输出描述:解题过程提交代码学习代码收藏点一、strstr函数二、stdlib.h判断短字符串S中的所有字符是否在长字符串T中全部出现。请注意本题有多组样例输入。数据范围:1≤len(S),len(T)≤200 进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(n)\O(n) 输入两个字符串。第一个为短字符串,第二个为长字符串。两个字符串均由小写字母组成。如果短字符串的所有字符均在长字符串中出现过,则输出字符串"true"。否则输出字符串"false"。记得做某企业的笔试题时,遇到过差
2022-12-06 18:11:14
400
原创 华为机试_HJ76 尼科彻斯定理
目录描述输入描述:输出描述:提交代码学习代码收藏点验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。数据范围:1≤m≤100 进阶:时间复杂度:O(m)\O(m) ,空间复杂度:O(1)\O(1) 输入一个int整数输出分解后的string学习代码(来源:https://www.nowcoder.com/users/49267
2022-12-06 17:39:05
124
原创 华为机试_HJ84 统计大写字母个数【简单】
找出给定字符串中大写字符(即'A'-'Z')的个数。数据范围:字符串长度:1≤∣s∣≤250 字符串中可能包含空格或其他字符进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(n)\O(n) 对于每组样例,输入一行,代表待统计的字符串输出一个整数,代表字符串中大写字母的个数没用数组!但也可以用数组!但是要用库函数!这题好善良...
2022-12-06 16:05:42
98
原创 华为机试_HJ22 汽水瓶【简单】【半收藏】
目录描述输入描述:输出描述:解题过程提交代码学习代码收藏点某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。数据范围:输入的正整数满足 1≤n≤100 注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。输入文件最多包含 10 组测试数据,每个数据占一行,仅包含一个正整数 n( 1
2022-12-06 16:00:21
129
原创 华为机试_HJ54 表达式求值【简单】
给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过 100 ,合法的字符包括 ”+, -, *, /, (, )” , ”0-9” 。数据范围:运算过程中和最终结果均满足∣val∣≤2^31−1 ,即只进行整型运算,确保输入的表达式合法输入算术表达式计算出结果值界面显示,本题用到的知识点是 字符串,栈和基础数学。考了一下觉得应该是比较复杂的一个程序了,看到讨论区里果然有人写了一天用了177行,当然也有大佬用了几十行。所以先码着,暂时不做这题了,先学习。(来源:https://www.now
2022-12-03 15:39:44
322
原创 华为机试_HJ35 蛇形矩阵【简单】【半收藏】
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:1 3 6 10 152 5 9 144 8 137 1211输入正整数N(N不大于100)输出一个N行的蛇形矩阵。学习代码(来源:https://www.nowcoder.com/users/594375052)有点不解,为什么(1)处可以成立,尤其是i==0的时候?不会报错吗?特定题型,快速找规律吧。
2022-12-03 15:29:43
95
原创 华为机试_HJ37 统计每个月兔子的总数【简单】【收藏】
有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?数据范围:输入满足1≤n≤31 输入一个int型整数表示第n个月输出对应的兔子总数记得大一学习C语言的时候学过,用的是递归+子函数的方法,但是时间久了就忘记了。当然也可以不用子函数。看了讨论区restudy了两种方法。递归+不用子函数方法(数组)略。动态规划(形式二)
2022-12-03 14:58:46
316
原创 华为机试_HJ94 记票统计【简单】【收藏】
按照输入的顺序,每行输出候选人的名字和得票数量(以" : "隔开,注:英文冒号左右两边都有一个空格!将每位投票者的票,分别对于候选人的名字进行一个循环,通过对比两个字符串的大小是否相等,来判断每位候选人的票数。第一行输入候选人的人数n,第二行输入n个候选人的名字(均为大写字母的字符串),第三行输入投票人的人数,第四行输入投票。请实现一个计票统计系统。你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人得票的数量以及不合法的票数。(注:不合法的投票指的是投票的名字不存在n个候选人的名字中!
2022-12-02 21:01:39
138
原创 华为机试_HJ97 记负均正
首先输入要输入的整数个数n,然后输入n个整数。输出为n个整数中负数的个数,和所有正整数的平均值,结果保留一位小数。数据范围:1≤n ≤2000 ,输入的整数都满足 ∣val∣≤1000。0即不是正整数,也不是负数,不计入计算。如果没有正数,则平均值为0。输出负数的个数,和所有正整数的平均值。首先输入一个正整数n,
2022-12-01 23:09:24
117
原创 华为机试_HJ105 记负均正II
输入 n 个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0。数据范围:1≤n≤50000 ,其中每个数都满足∣val∣≤106。本题有多组输入数据,输入到文件末尾。输出负数个数以及所有非负数的平均值。输入任意个整数,每行输入一个。
2022-12-01 21:54:06
83
原创 华为机试_HJ106 字符逆序【简单】
数据范围:1≤len(str)≤10000。将一个字符串str的内容颠倒过来,并输出。输入一个字符串,可以有空格。
2022-12-01 21:10:39
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人