- 博客(11)
- 收藏
- 关注
原创 算法:n项数组的全部不重复排列
@[华为算法题] 昨天参加了华为在线机试题,其中有一道印象最为深刻。因为我在这篇《算法:实现一个n项数组的全部不重复排列》里曾讨论过不重复排列的实现方式,但仅限于4项数组。思路较为简单,但是不够灵活和可变性,当时已经想针对这个问题思考更灵活的实现方式,但是碍于最近一直在面试,所以搁置了,知道我在线遇到了这道机试题。大概的题目是: 对于n数,有1到n个整数。这n个整数有1到n!(n的阶乘)个组合。要按照组合后数字的升序排序,求第k个值。 现如今给出我个人的实现方式,但由于机试时调试提示可能效率不高,所以不做完
2020-07-13 10:21:38
884
原创 算法:统计大写字母个数
@[华为算法题] 题目描述 找出给定字符串中大写字符(即’A’-‘Z’)的个数 接口说明 原型:int CalcCapital(String str); 返回值:int 输入描述: 输入一个String数据 输出描述: 输出string中大写字母的个数 python实现 while True: try: n = input() c = 0 for i in n: if i.isalpha(): i
2020-07-09 16:32:44
624
原创 算法:实现一个n项数组的全部不重复排列
@[算法题] 常用情况,在解决复杂问题的时候会用到,可以自行灵活修改为对字符串的排列 python实现 n = input().split() for e in n: s = [] s.append(e) m = n[:] m.remove(e) for f in m: s.append(f) k = m[:] k.remove(f) for g in k: s.append(g)
2020-07-06 16:40:15
461
原创 算法:最长的对称有效密码串长度
@[华为算法题] 题目描述 Catcher 是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher
2020-07-06 13:11:52
703
原创 求给定正整数的二进制中最大的1的连续次数
@[华为算法题] 题目描述 功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字 输出: 无 返回: 对应的二进制数字中1的最大连续数 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续1的个数 python实现 while True: try: n = int(input()) c = 0 m = 0 while n:
2020-07-05 22:38:30
431
原创 算法:按规则判断密码强度
@[华为算法题] 题目描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0 分: 没有字母 10 分: 全都是小(大)写字母 20 分: 大小写混合字母 三、数字: 0 分: 没有数字 10 分: 1 个数字 20 分: 大于1 个数字 四、符号: 0 分: 没有符号 10 分: 1 个符号 25 分: 大于1 个符号 五、奖励: 2 分: 字母和数字 3 分: 字母、
2020-07-05 21:34:45
872
原创 算法:求等差数列的n项和
@[华为算法题]( 功能:等差数列 2,5,8,11,14。。。。 输入:正整数N >0 输出:求等差数列前N项和 返回:转换成功返回 0 ,非法输入与异常返回-1 本题为多组输入,请使用while(cin>>)等形式读取数据 ) python实现 while True: try: a = int(input()) v = 2 s = 0 for i in range(a): s += v
2020-07-05 19:35:17
417
原创 颠倒字符串python算法实现
@[华为算法题](将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 如:输入“I am a student”,输出“tneduts a ma I”。) python实现 s = input() n_s = '' for i in range(len(s), 0, -1): n_s += s[i-1] print(n_s) ...
2020-07-05 17:18:41
475
1
原创 取浮点数的近似值
@华为算法题 python实现 a = float(input()) t = int (a * 10) g = t % 10 if g >= 5: print(int(t/10) + 1) else: print(int(t/10))
2020-07-05 17:10:20
413
原创 实现位运算
@华为算法题 a = int(input()) c = 0 while a: b = a % 2 if b: c += 1 a = int(a/2) print(c)
2020-07-05 16:56:12
682
1
原创 最小公倍数算法题题解
@[华为算法题](正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。) python实现 这是按照我个人思路实现的。 import datetime def get_com_val(): a = int(input("请输入a:")) b = int(input("请输入b:")) begin_time = datetime.datetime.now() if a>b: n_min = b
2020-07-04 15:44:11
305
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人