HJ

HJ19_简单错误记录_哈希

思路: 要实现字符串的分隔和按输入顺序输出,所以使用列表。两列表实现。 知识点: 1、python的可哈希不可哈希对象 详见:详解Python中的可哈希对象与不可哈希对象(二) - 腾讯云开发者社区-腾讯云 (tencent.com) 2、斜杆的“\”字符的读取与分隔“\\” 用split()方法分 ......
错误 HJ 19

HJ212

污染物在线自动监控(监测)系统数据传输标准 (HJ212-2017)-CRC数据校验 - Liu Siyuan - 博客园 (cnblogs.com) HJ212 CRC 16 (C#) - VictorBu - 博客园 (cnblogs.com) ......
212 HJ

HJ82_将真分数分解为埃及分数_数学

原文连接:(7条消息) 将真分数分解为埃及分数_且_听_风_吟的博客-CSDN博客 1 a,b = 8,11 2 a = a * 10 3 b = b * 10 4 res = [] 5 while a: 6 for i in range(a,0,-1): 7 print(i,b) 8 if(b % ......
真分数 分数 数学 HJ 82

HJ70_矩阵乘法计算量估算_入门栈使用的典型题

反思: 这题咋一看不难,但是越做坑越多,按照一开始不完善的思路无法完全通过测试。 参看高赞答案,代码行数特少。但是没考虑一个括号中有三个矩阵的情况。 思路: 1、判断哪两个矩阵开始相乘的条件:遇到“)”时,该字符前两个矩阵开始相乘。把相乘后矩阵行列数组压入栈栈中。该题默认不存在(A(BCD))一个括 ......
乘法 矩阵 典型 HJ 70

HJ69_矩阵乘法_数组

思路: 三层循环实现矩阵相乘。 import sys a=[] for line in sys.stdin: a.append(list(map(int,line.strip().split()))) #print(a) matrix1=a[3:3+a[0][0]] matrix2=a[3+a[0] ......
乘法 数组 矩阵 HJ 69

HJ66 配置文件恢复_字典_字符串

思路:1、把命令和执行对录入一字串字典和二字串字典 2、取字典的可以与输入对比 3、为了保证唯一性,用c常数增加1来判断是否唯一。 4、最后根据c值统一打印输出 1 import sys 2 a=[] 3 for line in sys.stdin: 4 a.append(line.strip(). ......
字符串 字典 字符 文件 HJ

HJ65 查找两个字符串a,b中的最长公共子串_穷举查找字符串相同子串

思路:1、穷举查找字符串子串 2、把相同子串存入数组 3、生成新数组存储对应index的子串长度 4、返回第一个最长数组index,通过index查找子串输出。 1 import sys 2 s1=sys.stdin.readline().strip() 3 s2=sys.stdin.readlin ......
字符串 字符 两个 HJ 65

HJ48_从单向链表中删除指定值的节点_单向链表

自定义类型链表:用链表的方式实现链表的生成、插入和删除。 思路:需要两个class,一个为node,用与生成节点,一个为linklist,用于定义节点操作以及初始化head头节点。 因为单向链表每个节点只有一个指针,因此在执行删除操作时,需要两指针并行。 head头节点作为特殊情况需要另一个if捕捉 ......
单向 节点 HJ 48

HJ20_密码验证合格程序_仿真_判断重复子串的巧妙

这题最巧的是如何判断密码含有字符串。 最巧妙的是如何判断一串字符串中是否包含重复子串: 思路:for 循环提取可能的重复子串,通过子串作为划分字符串的依据,判断划分后的字符串是否长度大于等于3,则可判断字符串中是否含有两个或两个以上重复子串。简短两行,要注意index不能超出数组。 16 for i ......
密码 程序 HJ 20

HJ41_称砝码_动态规划_双层循环的内层循环对象同时更新(巧妙)

思路:陈砝码也就是砝码有多少种组合方式。1.用穷举方法,但是操作量大,且同一重量可以有多重不同砝码称取方式。2.用确定砝码称取范围(0,max_weight),并逆推组合是否成立的方式,可减少计算量。这个方法还不知如何实现。如实现方式为每次取最接近重量的砝码,砝码有2g两个,3g一个,称重4g.计算 ......
内层 砝码 双层 对象 同时

HJ38求小球落地5次后经历路程和第五次反弹高度

思路:已知反弹高度为下落高度的一半。采用模拟的方法。这题比较简单不知道为什么放在中等难度。 1 a=float(input()) 2 n=a 3 sum=0 4 def spring_h(a): 5 return a/2 6 for i in range(5): 7 sum=sum+n*2 8 n= ......
小球 路程 高度 HJ 38

HJ36_字符串加密_模拟

思路:模拟仿真的方法,最重要要是理解秘钥、明文、密文代表什么,以及如何通过查表加密。 通过建立明文、密文对应列表。得到明文index后,由相同的index得到加密信息。 #题目涉及秘钥、明文、密文。通过指定秘钥和明文得到密文#如 #秘钥:TRAILBLAZERS#明文:A B C D E F G H ......
字符串 字符 HJ 36

HJ_33 整数与IP地址间的转换_模拟

思路:模拟分析 知识点: 1、10进制与二进制互相转换 2、字符串切片 代码行数不算多,但依然有简化空间。参考高赞题解的思路,得到代码2。 #采用内置函数int(x,base)把任何进制转换成10进制#bin(x) 把int,十进制整型转换成二进制。 1 ip=list(map(int,input( ......
整数 地址 HJ 33

HJ32_密码截取_模拟_动态规划

思路:通过for循环获得可能是对称字符串的中间数,通过左右跳动寻找对称字符串,如果是则放进l列表中。 该思路通过模拟分析三种情况,分别用三个独立if,分别判断的方法,来实现对称密码截取。 后看高赞题解,发现其代码只有8行。尝试分析高手思路,其思路为,1、找到通过循环找到两个相同字符。2、通过两个相同 ......
密码 动态 HJ 32

HJ29_字符串加解密_模拟

思路: 根据加解密规则,使字符串加解密后输出。这是初始理解,编码起来较麻烦。查看高赞题解后,学到一种新思路关于加解密:最佳方法是通过通过设计加解密表,代码比较简单,通过列表index实现加解密。 这是我的代码: 1 f_encrypt=input() 2 f_decipher=input() 3 o ......
字符串 字符 HJ 29

HJ27_查找兄弟单词——哈希表查找

思路: #先找出兄弟单词,按字典排序;输出第k个字典序单词,若没有则不用输出。 关键是理解题目兄弟单词的定义。可通过测试案例明确兄弟单词单词定义。如刚开始我的check,只是用set()检查是否含有相同字母;再增加用len()检查重复字母,再发现用哈希表计算不同字母出现次数,并对比哈希表。最后得出程 ......
单词 兄弟 HJ 27

HJ43_迷宫问题_回溯

¥问题:探索沿着0路径走出矩阵迷宫。 ¥思路: 1、第一个站位点为(0,0)坐标,站在(0,0)坐标向分别向左右上下探索,如探索到1则回溯重新探索0路径。 2、比如向右走几步后,检测到了右上下都是1,此时回溯。注意在探索过程中,有可能探索重复的死胡同,所以需要用pos list记录探索过的左边,探索 ......
迷宫 问题 HJ 43

HJ26_字符串排序_sorted()方法的key用法;附自定义函数进行sorted排序的网址

问题:对输入的一串字符排序,大小写字母不分离,特殊字符从原位置输出。比如aA:BbDC,排序后,aA:BbCD 1 import sys 2 a=sys.stdin.readline() 3 b,d='',{} 4 for k,i in enumerate(a): 5 if i.isalpha(): ......
sorted 字符串 函数 字符 网址

HJ24_合唱队_动态规划_打印最少剔除人数_输出任意一列最长队列身高

以下为知识点:1、index倒序切片:temp=range(10)temp[:ind:-1]2、输出121队形的计算方法和实现步骤3、bisect模块的使用。(二分法) 1 #计算方法为,计算出以每个元素为最高点的最长121队列,再比较队列长度 2 #实现步骤: 3 #分别计算从左往右和从右往左的递 ......
合唱队 队列 身高 人数 动态