算法设计与数据结构
算法
有勇气的牛排
CSDN全栈&网络安全领域优质创作者、阿里云社区博客专家。
新时代,新征程,站在AI的肩膀上开启无限可能;学会字典、使用字典、现学现用,技术的价值体现在能否解决实际问题,具有时效性,做不到灵活应用,只懂死记硬背,终将被AI所替代。
写博客是为了系统化构建与盘点知识,并且减小记忆成本;同时,希望本人分享的文章能够帮助到更多的开发者,让编程产生更大价值。非常欢迎热衷于技术的朋友关注,交个朋友,一起探索未知。
展开
-
HJ21 简单密码
知识点: 描述现在有一种密码变换算法。九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a 。数字和其它的符号都不做变换。数据范围: 输入的字符串长度满足1≤n≤100输入描述:输入原创 2022-06-27 18:46:23 · 395 阅读 · 0 评论 -
HJ成绩排序
知识点: 描述给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。例示:jack 70peter 96Tom 70smith 67从高到低 成绩peter 96jack 70Tom 70smith 67从低到高smith 67jack 70Tom 70peter 96注:0代表从高到低,1代表原创 2022-06-27 18:43:54 · 258 阅读 · 0 评论 -
HJ字符串排序
描述给定 n 个字符串,请对 n 个字符串按照字典序排列。数据范围:1≤n≤1000 ,字符串长度满足1≤len≤100输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。示例1牛客HJ Python原文链接:https://edit.920vip.net/#/articleId/179...原创 2022-06-27 18:42:39 · 266 阅读 · 0 评论 -
HJ整数与IP地址间的转换
描述原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193组合起来即为:00001010 00000000 00000011 11000001,转换为10进制数就是:167773121,即该IP地址转换后的数字就是它了。数据范围:保证输入的是合法的 IP 序列输入描述:输入1 输入IP地址2 输入10进制型的IP地址输出描述:输出1 输出转换成10进制的IP地址2 输出转换后的IP原创 2022-06-27 18:41:18 · 786 阅读 · 0 评论 -
HJ删除字符串中出现次数最少的字符
知识点:字符串、哈希描述实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。数据范围:输入的字符串长度满足1≤n≤20,保证输入的字符串中仅出现小写字母输入描述:字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。输出描述:删除字符串中出现次数最少的字符后的字符串。示例1牛客 HJ Python原文链接:https://www.920vip.net/article/1原创 2022-06-27 18:39:58 · 129 阅读 · 0 评论 -
HJ进制转换
描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在 1≤n≤231-1输入描述:输入一个十六进制的数值字符串。示例1输入:0xAA输出:170python解法原文链接:https://www.920vip.net/article/174...原创 2022-06-27 18:33:04 · 290 阅读 · 0 评论 -
python 塔
n = 26; # 设定塔的层数为26i = 1while i <= n: # 对塔每一层按照规律进行构造。 # 首先进行输出空格的操作:对于第i行,字符前面的空格个数为n-i个。 j = 1 while j <= n - i: # ①:第i层需要输出的空格个数 :#注意这里最右边的分号:为原python语法,不要修改 1 print(" ", end="") j = j + 1 h = 1 wh原创 2021-04-08 10:44:19 · 337 阅读 · 0 评论 -
python 信息加密
在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去。有一种加密规则是这样的:对于字母字符,将其转换成其后的第3个字母。例如:A→D,a→d,X→A,x→a;对于非字母字符,保持不变。现在,请你根据输入的一行字符,输出其对应的密码。样例输入I(2016)love(08)China(15)!样例输出L(2016)oryh(08)Fklqd(15)!str = 'I(2016)love(08)China(15)!'res = ''temp = ''for i i原创 2021-04-08 10:42:18 · 1949 阅读 · 0 评论 -
python 三角形的三个边长a,b,c ,求三角形的面积?
已知:三角形的三个边长a,b,c ,求三角形的面积?海伦公式:s=(a+b+c)/2import cmatha = 3b = 4c = 5p = 0.5*(a+b+c)m = p*(p-a)*(p-b)*(p-c)c = m**0.5print(c)原创 2021-04-08 10:38:18 · 3222 阅读 · 0 评论 -
python 但更爱字符串
【代码】python 但更爱字符串。原创 2021-04-08 10:29:48 · 330 阅读 · 0 评论 -
顺序表---C语言
顺序表中k0的存储位置 loc(k0)在有n个元素的线性表里下标为i的元素前。考虑到线性表元素的变化,创建一个。可以看出,在顺序表中进行一次。是表示线性表最简单的方法。下标为i的元素需要移动。原创 2020-05-05 23:34:31 · 608 阅读 · 1 评论 -
散列函数 Hash
概念Hash: 一般译作散列、杂凑,或音译为哈希常用的hash算法:MD4:基于32位操作系统实现。MD5:速度比MD4慢一点,但更安全,在抗分析和抗差分方面表现更好。SHA-1 :抗穷举(brute-force)性更好,SHA-1 设计时基于和MD4相同原理,并且模仿了该算法其他散列函数1.除留余数法 h(K) = K%mm>n : 素数 (散列表长度)m>n(带散列的数据表长)参数含义K关键字m散列表的长度n带散列的数据表长原创 2020-06-06 23:19:48 · 903 阅读 · 0 评论 -
有勇气的牛排---算法与数据
2. 线性表顺序表5. 二叉树与树二叉树6. 集合与字典字典的散列表示原创 2020-06-06 23:42:25 · 270 阅读 · 0 评论 -
2.1算法分析 递归---阶乘
定义递归算法: 直接或间接地调用自身的算法递归函数: 用函数自身给出定义的函数实例阶乘函数方法一:递归public static int factorial(int n){ if(n==0) return 1; return n*factorial(n-1);}方法二:for循环public static int factorial(int n){ int a=1; for(int i=1; i<=n; i++){ a*=i; } return a;}..原创 2020-09-25 22:34:15 · 539 阅读 · 1 评论