算法
威廉哥哥
我想成为一个很厉害的人,让这个世界因为我,而有一点点的不一样。
展开
-
Python - 根据xls的账密自动登录指定的网页,并获取对应的input内的值
6.谷歌驱动器下载地址:http://chromedriver.storage.googleapis.com/index.html(或者https://googlechromelabs.github.io/chrome-for-testing/)(安装了他,程序才能调起谷歌浏览器),要把谷歌驱动器也加入到环境变量(把解压后的chromedriver文件放到/usr/local/bin/下)。4.本文仅供自己学习使用,请勿随意爬取他人网站,造成的不良后果,本人概不负责。1.Python是3.9版本。原创 2022-05-03 11:29:42 · 1065 阅读 · 0 评论 -
[Python]正相匹配中文分词【哈工大 车万翔老师视频公开课】
# 中文分词 类似 我/爱/北京/天安门 这样断句# ------Start------def load_dict(filename): word_dict = set() max_len = 1 file = open(filename, 'r', encoding='UTF-8') for line in file: word = li...原创 2019-12-31 15:10:59 · 310 阅读 · 0 评论 -
打印九九乘法表(python版)
for i in range(1, 10): for j in range(1, 10): print("{} x {} = {:2d}".format(i, j, i * j), end=' ') # print(f"{i} x {j} = {i * j}", end='') # print("{0}x{1}={2:0>2}"....原创 2019-08-07 00:20:22 · 353 阅读 · 0 评论 -
考拉兹猜想(Python版)
例题:考拉兹猜想(Collatz Conjecture),也叫奇偶归一猜想、3n + 1猜想、冰雹猜想、角骨猜想、哈塞猜想、乌拉姆猜想、叙拉古猜想算法介绍:对于每一个正整数,如果他是奇数,就对他乘以3,再加1,如果是偶数则对他除以2,最终都能得到1def collatz_conjecture(number): while number != 1: if number...原创 2019-08-06 23:42:18 · 10803 阅读 · 0 评论 -
根据一个一维数组的value的顺序来排序另一个一维数组的value
有这样一个场景,公司想把后台上传的产品图片排序,我在后台写了个input输入框,可以让运营同事输入他希望的序号。已知图片的数据库id。根据运营同事提交的序号来改变图片的顺序。<?php// 运营同事输入的排序序号$a = array(1,2,4,3);// 产品数据库id值$b = array("8100", "8101", "8102", "8103");asort($a);...原创 2019-07-03 14:19:27 · 616 阅读 · 0 评论 -
将二维数组重新排列成 M 行 N 列的二维数组
**请使用你熟悉的语言实现一个函数 reshape,输入参数是一个二维数组 matrix、整数 M 和 N ,将这个二维数组重新排列成 M 行 N 列的二维数组。例如 reshape([[1, 2, 3], [4, 5, 6]], 3, 2) 应返回 [[1, 2], [3, 4], [5, 6]]。**<?phpfunction reshape($arr, $m, $n){ ...原创 2019-04-15 23:14:55 · 2729 阅读 · 0 评论 -
"123456789876543212345678987654321..."的第n位是什么?
A原创 2018-08-21 16:19:35 · 960 阅读 · 0 评论 -
写一段代码实现字符串反转(如“abcdefg”反转成“gfedcba”)
面试遇到的问题,不难,只是记录一下。//写一段代码实现字符串反转(如“abcdefg”反转成“gfedcba”)$str = "abcdefg";$len = strlen($str);$arr = array();for ($i = 0; $i $len; $i++) { $arr[] = substr($str, $i, 1);}$reverse_arr = array原创 2018-01-10 16:38:22 · 4977 阅读 · 0 评论 -
对称加密、非对称加密
(一)对称加密(Symmetric Cryptography) 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用转载 2018-01-03 11:39:05 · 208 阅读 · 0 评论 -
快速排序算法的实验
快速排序算法原理 从数列中挑出一个元素,称为 “基准”(pivot),重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。代码 <?php function qu原创 2017-09-01 18:49:51 · 816 阅读 · 0 评论 -
冒泡排序算法的实验
php冒泡排序法对于处理有些数据还是有很大帮助,这里简单说明一下: 原理:对待排序记录关键词从后往前逆序进行多变扫描,当发现相邻两个关键词的次序与要求规则不符时,就将这两条记录进行交换,这样的话,关键词较小的将逐渐从后往前移动,就像气泡在水中向上浮起一样,这种算法被称为冒泡(气泡)排序法。 function mysort($arr){ for($i=0; $i<count($arr)原创 2017-08-07 21:20:43 · 859 阅读 · 0 评论 -
希尔排序算法的实验
1.原理希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。<?phpfunction shell_原创 2017-10-19 16:53:45 · 786 阅读 · 0 评论 -
插入排序算法的实验
插入排序法原理 插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。代码<?phpfunction原创 2017-09-01 17:29:27 · 594 阅读 · 0 评论 -
选择排序算法的实验
原理:在要准备排序的一组数中,选出最小的一个数和第一个位置的数交换位置,接下来在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。 代码:<?phpfunction chooseMin($arr){ //需要两次循环来完成目的 $total = count($arr); for($i = 0; $i < $total; $i++){原创 2017-08-24 18:12:09 · 713 阅读 · 0 评论