在群里有人分享了一套试题,拿来练练手。
简易计算器
做简单的计算器,只提供最基本的运算,不过满足日常生活需求是够了。
运行效果点这里
快速排序的实现
快速排序是一种经常用到的排序方法,它的时间复杂度为 O(nlogn)。因为大多数情况下速度都比一般的排序方法快,用的比较多,自己就琢磨着实现了一下。
原理
快速排序用到了分治法的原理:
  从数组中随机取出一个数字,将这个数组分为两个部分。将取出的数字作为基准数,小于基准数的放到它的左边,大于基准数的放到它的右边。这样基准数左边的都是比它小的,右边的都是比它大的。然后再对基准数的左边和右边重复前面的过程,直到每个部分的数组长度为 1。最后再将这些分开的数组组合起来就成功了。步骤如下:
- 从数组中随机抽取一个数组作为基准数,将数组中的每个数字与基准数比较,小于基准数的放到基准数左边,大于基准数的放到基准数右边。
- 对上面结束后的左右两个部分重复步骤 1。
- 当所有部分的长度为 1 时停止。
硬盘文件整理
看着自己电脑里的文件越来越多,文件的存放也变越来越混乱,如何整理文件成了一个大问题,是该花点时间好好整理整理了。
网易云课堂考试题-python
题目内容:
两位整数相乘形成的最大回文数是 9009 = 99 × 91。编写程序,求得任意输入的 n 位整数相乘形成的最大回文数。
输入格式:
正整数 n
输出格式:
n 位整数相乘形成的最大回文数
输入样例:
2
输出样例:
9009
程序:
def is_palindrome(num): #判断是否是回文
n = str(num)
if n == n[::-1]:
return True
else:
return False
n = int(input())
a = 1
arr1 = []
arr2 = []
while len(str(a)) < n + 1: #将n位数的数字加到数组中,同时抛弃n-1位数
if len(str(a)) > n - 1:
arr1.append(a)
arr2.append(a)
a = a + 1
maxPalindrome = 1
for i in arr1[::-1]: #从后面往前开始遍历,取得最大的回文数
for j in arr2[::-1]:
if i*j > maxPalindrome and is_palindrome(i*j):
maxPalindrome = i*j
print(maxPalindrome)
总结
感觉算法太粗暴,运行效率较低,但一时还没想到更好的算法。
翘边阴影制作方法
css3选择器整理
elefixed
借助gulp自动化前端开发
gulp
是一款小巧的自动化构建工具,可以帮助我们自动运行大量乏味重复性的任务,比如代码压缩、合并等等,可以为我们节约大量的时间。在制作简历过程中,因为需要用到less
,而less
需要编译,所以就简单学习了这款工具。