- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 codewars Kata——RGB To Hex Conversion问题
代码# -*- coding: utf-8 -*-"""codewars Kata: RGB To Hex ConversionCreated on Sun Jan 3 15:42:25 2021@author: Pray"""def toHex(n): if(n <= 0): return '00' elif(n >= 255): return 'FF' a = int(n / 16) b = n % 16 if (a > 9)
2021-01-03 15:58:06
228
1
原创 codewars Kata——Scramblies问题
代码代码的关键点在于巧妙利用python的Counter函数,见下# -*- coding: utf-8 -*-"""codewars Kata: ScrambliesCreated on Sun Jan 3 14:58:48 2021@author: Pray"""s1 = 'katas's2 = 'steak'from collections import Counter def scramble(s1, s2): return len(Counter(s2)
2021-01-03 15:34:57
264
原创 codewars Kata——Common Denominators问题
问题描述这道题通俗来讲就是要求你对一系列分数进行通分,而且通分后的分母应该是这些原分数分母的最小公倍数。所以此题的解题核心在于求取最小公倍数的算法。思路与代码我们采用曲线救国的方针,先求取分母们的最大公因数(Greatest Common Divisor, gcd),然后基于最大公倍数求取最小公倍数。这个思路也很好理解,假设存在两数aaa和bbb,二者的最大公因数为gcd(a,b)gcd(a,b)gcd(a,b),则aaa和bbb的最大公倍数即为a∗b/gcd(a,b)a*b/gcd(a,b)a∗b
2021-01-03 14:55:50
397
原创 codewars Kata—— Primes in numbers问题
大致思路首先定义一个函数用于判断某数是否为质数,判断思路是从2开始,到该数的平方根为止,遍历判断该数是否能被这些数整除,若能则不为质数,若都不能则为质数。import mathdef isPrime(n): sqr = int(math.sqrt(n)) #求该数的平方根 if(n==1):return False #若该数为1,则不是质数 for
2021-01-03 11:49:03
254
原创 codewars Kata——Moving Zeros To The End问题
大体思路和代码刚开始读题的时候很快就有了思路:每一轮用list的index方法找到第一个为0的元素的索引,然后将该元素弹出(pop),在将其添加(append)在列表末尾。于是我很快写出了代码并进行test,但是发现出现了2个结果报错。我一看,嗷,原来是佐田……咳咳,原来是这两个test案例中提供的数组包含元素False,而False所属的bool数据类型实际上是int的一个子类(subclass),所以代码在整理数组时会把False也搬运到末尾,但是根据该题目的要求,False不应该算作0。于是,我
2020-11-30 09:19:36
353
原创 codewars Kata——Product of consecutive Fib numbers问题
思路与代码思路其实很简单,我们已知斐波那契数列是给定两个边界条件(初始值),然后按照F(n+1)=F(n)+F(n-1)的方式递推得到,那么我可以从先给定0,1的初始条件,然后开始逐轮试探,每一轮我们先判断F(n)*F(n+1)<prod是否成立,只要成立,就更新当前的F(n)和F(n+1),并继续下一轮,这样的逐轮尝试进行到F(n)*F(n+1)≥prod为止,然后返回此时的F(n)、F(n+1)以及F(n)*F(n+1)==prod的bool值。代码如下:# -*- coding: utf-
2020-11-24 17:03:08
360
原创 codewars Kata——Calculating with Functions问题
代码与思路话不多说,先放代码:# -*- coding: utf-8 -*-"""codewars Kata: Calculating with FunctionsCreated on Sun Nov 22 20:14:45 2020@author: Pray"""def zero(f = None): return f(0) if callable(f) else 0def one(f = None): return f(1) if callable(f) else 1def t
2020-11-22 21:23:41
295
原创 codewars Kata——Highest Scoring Word问题
大致思路和代码这个题的思路上没有啥大问题,主要想记录下为每个字母打分的方法,这里利用了ord()函数来实现这一功能,下面我先介绍一下ord()函数ord()函数介绍Help on built-in function ord in module builtins:ord(c, /) Return the Unicode code point for a one-character string.ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于U
2020-11-22 11:23:09
276
原创 codewars Kata——Persistent Bugger问题
大致思路和代码本人解决这一问题的关键思想是函数的递归调用,递归思想及如何实现大家可以自行百度,大致思路就是从上到小不断逐级调用自身,最终调用到底层,即n为一位数时,然后再逐级向上返回值,逐级加一,最后就可以得到persistentence的值了。话不多说,放代码:# -*- coding: utf-8 -*-"""codewars Kata: Persistent BuggerCreated on Sun Nov 22 09:58:35 2020@author: Pray"""def
2020-11-22 10:36:27
450
原创 codewars Kata——IQ Test问题
实现思路和代码由于输入给定是一个字符串,每个数字之间用空格间隔开,所以先对字符串进行分割和转int的操作,然后遍历数组,查看每个数的奇偶性,统计奇数和偶数的个数,同时分别将第一次出现的奇偶数的索引进行记录。最后判断奇偶数的数量,给出目标的索引。代码如下:# -*- coding: utf-8 -*-"""codewars Kata: IQ TestCreated on Sun Nov 22 09:24:31 2020@author: Pray"""def iq_test(number
2020-11-22 09:52:20
287
原创 codewars Kata——Ones and Zeros问题
我的实现方法我的实现方法很简单,直接上代码:# -*- coding: utf-8 -*-"""codewars Kata: Ones and ZerosCreated on Sat Nov 21 12:02:19 2020@author: Pray"""def binary_array_to_number(arr): sum = 0 for i in range(len(arr)): sum = sum + arr[i] * 2**(len(arr)-
2020-11-21 12:16:29
249
原创 codewars Kata——Take a Ten Minute Walk问题
大致思路如果walk列表长度不为10,那么这个散步方案肯定是不能使我刚好准时回到原地的,那么就return False。如果walk长度为10,则设置初始坐标x=0,y=0,根据’n’ ‘s’ ‘e’ 'w’让y、x分别+1、-1,经过10次计算后,如果x和y同时为0,则回到原点,return True。否则return False。代码# -*- coding: utf-8 -*-"""codewars Kata: Take a Ten Minute WalkCreated on Sat N
2020-11-21 11:54:18
396
原创 codewars Kata——Duplicate Encoder问题
大致思路利用字典dict数据结构,将字符串中的字符与该字符出现的次数建立一一对应的映射关系,通过遍历字符串检视每一字符出现的次数来决定生成新字符的内容代码# -*- coding: utf-8 -*-"""Kata Duplicate EncoderCreated on Sat Nov 21 10:11:07 2020@author: Pray"""def duplicate_encode(word): #your code here newword=[]
2020-11-21 11:05:46
276
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人