0%

在群里有人分享了一套试题,拿来练练手。

1、请用 HTML5 标准完成以下布局

图1

阅读全文 »

做简单的计算器,只提供最基本的运算,不过满足日常生活需求是够了。
calculate
运行效果点这里

快速排序是一种经常用到的排序方法,它的时间复杂度为 O(nlogn)。因为大多数情况下速度都比一般的排序方法快,用的比较多,自己就琢磨着实现了一下。

原理

快速排序用到了分治法的原理:
  从数组中随机取出一个数字,将这个数组分为两个部分。将取出的数字作为基准数,小于基准数的放到它的左边,大于基准数的放到它的右边。这样基准数左边的都是比它小的,右边的都是比它大的。然后再对基准数的左边和右边重复前面的过程,直到每个部分的数组长度为 1。最后再将这些分开的数组组合起来就成功了。步骤如下:

  1. 从数组中随机抽取一个数组作为基准数,将数组中的每个数字与基准数比较,小于基准数的放到基准数左边,大于基准数的放到基准数右边。
  2. 对上面结束后的左右两个部分重复步骤 1。
  3. 当所有部分的长度为 1 时停止。
阅读全文 »

看着自己电脑里的文件越来越多,文件的存放也变越来越混乱,如何整理文件成了一个大问题,是该花点时间好好整理整理了。

阅读全文 »

题目内容:

两位整数相乘形成的最大回文数是 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)

总结

感觉算法太粗暴,运行效率较低,但一时还没想到更好的算法。

一些特殊阴影的制作方法,其实就是将多个图形叠加在一起,然后通过z-index调整前后顺序,最后实现效果
翘边阴影

阅读全文 »

属性选择器

  • E[att^="val"]:选择att属性值以val开头的 E 元素。
  • E[att$="val"]:选择att属性值以val结尾的 E 元素。
  • E[att*="val"]:选择att属性值包含val的 E 元素。
阅读全文 »

写了一款js插件,可以让一个元素在随着页面向下滚动到达浏览器顶部时,固定在那,向上滚动时又回到原来的状态。
具体介绍可以点击这里查看:eleFixed
本插件提供原生jsjQuery两个版本:
使用方法:

  • 原生 js 版:首先在 html 中引入 elefixed.js 文件,然后这样调用它:elefixed("ele");,其中的"ele"可以换为你要设置元素的 id。
  • jQuery 版:直接在元素后面调用该方法即可,像这样$("ele").elefixed(),这里的"ele"不再像原生版一样需要 id 值了,只要能选中该元素即可。

下载地址:

gulp是一款小巧的自动化构建工具,可以帮助我们自动运行大量乏味重复性的任务,比如代码压缩、合并等等,可以为我们节约大量的时间。在制作简历过程中,因为需要用到less,而less需要编译,所以就简单学习了这款工具。

阅读全文 »

第一题:请使用 Javascript 实现以下动态效果

可以使用任何你喜欢的方式和库,尽量使用你认为优雅的实现,并在代码完成说简要说明此方案的优点和不足。
这是我用原生js实现的,用到了input标签的readonly属性,实现如下:

阅读全文 »