
算法
文章平均质量分 93
雕沙
这个作者很懒,什么都没留下…
展开
-
python算法之位运算
python算法之位运算本文主要介绍python中的位运算的一些技巧。本文会配合练习题让大家更快更好的掌握python位运算的知识,同时也会不断的更新文章。位运算的基本知识首先,位运算分:与:& 只有全为一的时候才是1或:| 有1取1非:~ 二进制中取反异或:^ 在二进制中,相同为0,不同为1左移:<<右移: >>位运算的算法技巧找出重复的数(异或技巧)这里我们用到了异或的运算规则,及相同为0,不同为1。我们来看一个公式:在异或中我们可以将数原创 2022-01-09 10:41:23 · 1248 阅读 · 0 评论 -
Leetcode 单调递增的数字
Leetecode 单调递增的数字题目给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)思路由于该数的组成是单调递增的,所以,但我们检索到一个不单调的数字组合的时候,说明最高位一定比下一位要大。这个处理起来很简单,我们只需要将最高位减1,其他剩下的数字全变成9,这样就找到了我们想要的数。代码class Solution: @cl原创 2020-12-16 09:12:12 · 442 阅读 · 0 评论 -
商品排序
商品排序题目思路首先,我们先建立一个节点类,以及一个存储每个节点的列表。一个问题是否能被解决,很大程度上也取决于我们一开始定义的数据结构。这个题目,我用基本的列表存储节点的方式进行解答首先,我们选用的是冒泡排序的排序手段。因为冒泡排序是稳定排序。我试图在第一次的时候利用冒泡排序,让所有节点稳定在列表中以颜色从小到大的顺序进行排序。然后,再通过对节点相对位置的检索,找出颜色相同的节点,对他们再次进行名称大小的字母序排序。进行名称大小的字母序排序。最后输出结果...原创 2020-12-04 16:26:26 · 1530 阅读 · 0 评论 -
python实现蓝桥杯历届试题之合根植物(查并集)
python实现蓝桥杯历届试题之合根植物(查并集)代码改自:合根植物Java实现查并集它是一种用树表示的数据结构。根节点存储所有节点总数的负数。子节点中存储它双亲结点的位置。具体的在该博主的文章中有具体的介绍:查并集代码# 合根植物python实现def init(m, n): """ 初始化矩阵。 :param m: 行数 :param n: 列数 :return: 一个初始化好的矩阵 """ global plantList原创 2020-10-15 15:06:18 · 480 阅读 · 0 评论 -
python实现完美数匹配问题
完美数匹配问题题目描述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tUJdFKtp-1599699812200)(D:\jiangpersonal\知识管理\数据结构与算法\完美数.jpg)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fADYIlKU-1599699812204)(D:\jiangpersonal\知识管理\数据结构与算法\完美数2.jpg)]题目分析这里面我们是要在原串中,匹配完美数的排列,从而筛选出是否有..原创 2020-09-10 09:05:26 · 463 阅读 · 0 评论 -
python实现蓝桥杯深度搜索(DFS)之Bit Compressor
python实现蓝桥杯深度搜索(DFS)之Bit Compressor问题描述问题描述数据压缩的目的是为了减少存储和交换数据时出现的冗余。这增加了有效数据的比重并提高了传输速率。有一种压缩二进制串的方法是这样的: 将连续的n个1替换为n的二进制表示(注:替换发生当且仅当这种替换减少了二进制串的总长度) (译者注:连续的n个1的左右必须是0或者是串的开头、结尾) 比如:11111111001001111111111111110011会被压缩成10000010011110011。原串长为32,原创 2020-08-20 07:31:23 · 489 阅读 · 0 评论 -
Python实现蓝桥杯2n皇后问题
蓝桥杯2n皇后问题问题问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应...原创 2020-03-27 09:56:57 · 2440 阅读 · 0 评论 -
蓝桥杯之杨辉三角,python实现
题目问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多...原创 2020-03-03 19:19:37 · 1683 阅读 · 0 评论 -
归并排序,以及里面蕴含的递归思想
归并排序,以及里面蕴含的递归思想归并排序原理,就是将一个乱序的数组,划分成两个无序的数组,然后,分别将这两个数组排好序,在通过外排的方式,将数组排好,将辅助列表赋值给原列表。现在,原理我们搞清楚了,那如何利用编程实现呢?我们先来看,如果在计算机中,这个归并是怎么实现的。我们假设有一个长度为8的乱序数组:[1,3,56,8,9,45,85,74]135894574851,3,56,8,9,4...原创 2020-03-02 21:16:27 · 351 阅读 · 0 评论 -
蓝桥杯之数列排序问题python实现
蓝桥杯之数列排序问题python实现题目问题描述给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9代码loop = int(inp...原创 2020-03-01 00:34:59 · 3077 阅读 · 4 评论 -
算法
算法时间复杂度评价流程的好坏。常数操作每次都是固定时间操作,就叫常数操作。内存寻址加减乘除操作定义: 一个流程中,评价常数操作数量的指标。什么是只要高阶项不要低阶项?例子打印在B种不在A中的数。第一种方法是两个循环,每次都去A中遍历,看看在不在A中。 那么,这个的时间复杂度就是big o(m*n)这个很想概率论里面的知识。故上面的意思就是,若它的次数可以用一个方...原创 2020-02-10 22:06:57 · 382 阅读 · 0 评论