算法
weixin_41964616
毕业于重庆邮电大学,拥有7年工作经验。熟悉iOS开发和python开发。会英语、日语、粤语的无限挑剔的大龄剩女程序媛
我的牛客网:https://blog.nowcoder.net/lanmon
展开
-
算法:n项数组的全部不重复排列
@[华为算法题]昨天参加了华为在线机试题,其中有一道印象最为深刻。因为我在这篇《算法:实现一个n项数组的全部不重复排列》里曾讨论过不重复排列的实现方式,但仅限于4项数组。思路较为简单,但是不够灵活和可变性,当时已经想针对这个问题思考更灵活的实现方式,但是碍于最近一直在面试,所以搁置了,知道我在线遇到了这道机试题。大概的题目是:对于n数,有1到n个整数。这n个整数有1到n!(n的阶乘)个组合。要按照组合后数字的升序排序,求第k个值。现如今给出我个人的实现方式,但由于机试时调试提示可能效率不高,所以不做完原创 2020-07-13 10:21:38 · 828 阅读 · 0 评论 -
算法:统计大写字母个数
@[华为算法题]题目描述找出给定字符串中大写字符(即’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 · 592 阅读 · 0 评论 -
算法:实现一个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 · 435 阅读 · 0 评论 -
算法:最长的对称有效密码串长度
@[华为算法题]题目描述Catcher 是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher原创 2020-07-06 13:11:52 · 665 阅读 · 0 评论 -
求给定正整数的二进制中最大的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 · 405 阅读 · 0 评论 -
算法:按规则判断密码强度
@[华为算法题]题目描述密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。一、密码长度: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 · 814 阅读 · 0 评论 -
算法:求等差数列的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 · 388 阅读 · 0 评论 -
颠倒字符串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 · 425 阅读 · 1 评论 -
取浮点数的近似值
@华为算法题python实现a = float(input())t = int (a * 10)g = t % 10if g >= 5: print(int(t/10) + 1)else: print(int(t/10))原创 2020-07-05 17:10:20 · 377 阅读 · 0 评论 -
实现位运算
@华为算法题a = int(input())c = 0while a: b = a % 2 if b: c += 1 a = int(a/2)print(c)原创 2020-07-05 16:56:12 · 650 阅读 · 1 评论 -
最小公倍数算法题题解
@[华为算法题](正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。)python实现这是按照我个人思路实现的。import datetimedef 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 · 256 阅读 · 1 评论