python3 bytes 和 string转换

前言Python 3 最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是 Unicode,由 str 类型表示,二进制数据则由 bytes 类型表示。Python 3 不会以任意隐式的方式混用 str 和 bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然).python中怎么创建 bytes 型数据>>> bytes([1,2,3,4,5,6,7,8,9
分类: 其他 发布时间: 09-13 23:04 阅读次数: 0

小白都能看懂的“秋叶收藏集“解法

题目来源: Leetcode LCP 19. 秋叶收藏集一.题目小扣出去秋游,途中收集了一些红叶和黄叶,他利用这些叶子初步整理了一份秋叶收藏集 leaves, 字符串 leaves 仅包含小写字符 r 和 y, 其中字符 r 表示一片红叶,字符 y 表示一片黄叶。出于美观整齐的考虑,小扣想要将收藏集中树叶的排列调整成「红、黄、红」三部分。每部分树叶数量可以不相等,但均需大于等于 1。每次调整操作,小扣可以将一片红叶替换成黄叶或者将一片黄叶替换成红叶。请问小扣最少需要多少次调整操作才能将秋叶收藏集调整完
分类: 其他 发布时间: 09-13 23:04 阅读次数: 0

python 中 with 用法

前言with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭/线程中锁的自动获取和释放等。问题引出如下代码:file = open("1.txt")data = file.read()file.close()上面代码存在2个问题:(1)文件读取发生异常,但没有进行任何处理;(2)可能忘记关闭文件句柄;改进'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939寻找有志同道合的
分类: 其他 发布时间: 09-13 23:04 阅读次数: 0

超快速排序

题意题意思路做法1首先,这道题目有人可能会觉得第iii个位置不能同时跟左边交换或跟右边交换,但是其实第iii个位置想要向前回到它原来的位置,但是如果后面的有比iii还小的数字就会既左旋又右旋了。那怎么看是不是最小操作次数呢?只要看每次操作有没有序列尽量有序,或者说这个操作有没有浪费就行了。什么叫浪费,对于iii和i+1i+1i+1而言,如果a[i]<a[i+1]a[i]<a[i+1]a[i]<a[i+1],那么他们两个交换的话岂不是还要交换回来,没有任何必要,就很浪费,如果a[i
分类: 其他 发布时间: 09-13 23:03 阅读次数: 0

奇数码问题(求证明)

题意题意题解艹,推逆序对推错了,艹咳咳,依旧是两种做法。做法1考虑把整个图化成一条数列。(第二行拼到第一行后面,以此类推)考虑整个图的逆序对数(000也考虑上)。左右交换会使逆序对数+/−1+/-1+/−1,那么上下交换呢?由于000比所有数字都要小,所以肯定会+−n+-n+−n那么xxx在数列和中间的n−1n-1n−1个数字会产生多少个逆序对数呢,假设少了qqq个逆序对,多了ppp个逆序对?那么q+pq+pq+p为偶数,p−qp-qp−q必定为偶数,又因为nnn为奇数,所以上下交换也
分类: 其他 发布时间: 09-13 23:03 阅读次数: 0

天才ACM(倍增)

题目题目题解参考题解:https://www.acwing.com/solution/content/15458/很好。首先考虑我们用贪心证明两个东西:如果第iii个可以归到前面的部分就归到前面的部分,不要放到后面的部分,反正放到后面也只会让校验值增大,还不如不放。对于一个数列而言,如何求校验值?答案是最大的减最小的的平方加上次大的…。至于证明,首先,如果对于(x−y)2(x>y)(x-y)^2(x>y)(x−y)2(x>y),而数列中有 没有用的比xxx更大或比yyy
分类: 其他 发布时间: 09-13 23:02 阅读次数: 0

防晒

题目题目题解又是一个简(e)单(xin)题,思路不难想,但是证明是真的难啊,不过yxc的视频讲解也是真的好啊。我的思路是对于rrr从小到大排序,然后对于防晒霜也从小到大排序,然后对于目前的防晒霜看看有没有区间包括它的,包括就选。(优先选rrr小的)当然,题解大量的思路都是lll递减,然后看看这个区间有没有防晒霜,有优先选SPFSPFSPF值大的。为什么是对的呢?(下面都按照大多数人的思想走)一个比较形象的思路就是:由于lll递减,SPFSPFSPF越大的防晒霜在后面选择会越来越少,所以优先选大
分类: 其他 发布时间: 09-13 23:02 阅读次数: 0

JAVA WEB DAY 02_请求对象(request)

文章目录request对象01 HTTP 协议概述[★]01_01 概念:01_02 作用:01_03 特点:01_04 组成:02 HTTP 请求概述[★★★★]02_01 查看HTTP请求03 请求行概述[★★★]03_01 POST & GET 区别04 请求头概述[★★★]05 请求体概述[★★★]06 HttpServletRequest 对象概述[★★★]07 获取请求行的相关方法[★★★]08 获取请求头相关方法[★★★]09 获取请求参数相关方法[★★★]BeanUtils 工具使用
分类: 其他 发布时间: 09-13 23:02 阅读次数: 0

畜栏预定

题目题目做法我们现在考虑一种贪心方法,我们把所有牛的按lll排序一遍,然后从小往大遍历,如果现在我的所有的畜栏都在工作,那么就新建一个畜栏,否则随便挑一个畜栏(反正都是没在工作,都一样),其实不难想是对的,但是严谨证明吗,我还是炒一下yxc大大的吧QMQ。证明:反证法,假设存在一种方案,使得需要的畜栏数量更少,记其需要的畜栏数量是 mmm。考虑在上述做法中,第一次新建第 m+1m+1m+1 个畜栏的时刻,不妨设当前处理的是第 iii 头牛。由于所有牛是按开始时间从小到大排好序的,所以现在前
分类: 其他 发布时间: 09-13 23:02 阅读次数: 0

雷达设备

题目题目题解这里有一个十分重要的思路(其实贪心都不是特别重要),就是如何处理小岛和雷达的关系,我们观察好像很难搞,但是其实我们是能对于每一个小岛,在地平线求出一个区间,表示在这个区间放雷达能够覆盖这个小岛。即:然后就是问选最少的点覆盖这些区间了。(这里的覆盖指的是这个雷达在这个区间中,即为覆盖了这个区间,而下面大部分的区间覆盖就只是单纯的指有交集)现在需要明白,选的点数至少是(最多是)最多的不相互重合的区间的个数,如:[1,4],[2,5],[5,7][1,4],[2,5],[5,7][1,4
分类: 其他 发布时间: 09-13 23:02 阅读次数: 0

火车进栈问题(如何快速计算单个组合数)

题目题目思路这道题目思路不难,就是卡塔兰数,但是关键是要压位高精,而且如何快速计算组合数,这里把公式说一下:C2nnn+1\frac{C_{2n}^{n}}{n+1}n+1C2nn​​。也就是:(2n)!n!∗n!∗(n+1)\frac{(2n)!}{n!*n!*(n+1)}n!∗n!∗(n+1)(2n)!​,较快的方法就是用https://www.acwing.com/problem/content/199/的方法分解阶乘,然后减去指数,再快速幂回来,但是为什么要快速幂呢?这不是高精度乘高精度吗,
分类: 其他 发布时间: 09-13 23:01 阅读次数: 0

浅谈SPFA(没有特别的探讨,只是对某天晚上的思考做个记录)

文章目录参考文献最短路推论Bellman-ford 算法SPFA错误的证明方法卡法参考文献https://www.cnblogs.com/jason2003/p/7224580.html一下代码均抄自此大佬的博客。最短路推论对于一个最短路,最多经过n−1n-1n−1条边,如果超过这个,则必然重复经过一个点,则必然存在负环,证毕。Bellman-ford 算法通过上面,我们不难知道,我们可以用dp思想,设f[i]f[i]f[i]表示111到iii在最多经过jjj条边的最短路径,那么,我们只需要在
分类: 其他 发布时间: 09-13 23:01 阅读次数: 0

R语言数据分析

R语言数据分析R语言与数据分析概述基本操作命令基本数据类型数据类型的转换运算符R中的数据结构代码展示R语言与数据分析概述R语言是一种开源的脚本语言,诞生于1993年,R系统是开源、免费的。数据分析过程:数据导入——数据清洗——数据探索——数据建模——可视化——报告发现基本操作命令注:*处写包名函数说明getwed()显示当前工作目录setwd ()修改当前工作目录ls ()显示当前工作空间中的所有对象str ()显示对象的结构ls.str (
分类: 其他 发布时间: 09-13 23:01 阅读次数: 0

R数据分析2

Knowledge2R语言练习题矩阵数组列表数据框因子R语言练习题练习题:寻找水仙花数nums<- 100:999first.num <- nums%/%100second.num<-(nums%%100)%/%10third.num<-nums%%10 nums[(first.num^3 + second.num^3 + third.num^3) == nums]nums<- 1000:9999first.num <-nums%/
分类: 其他 发布时间: 09-13 23:01 阅读次数: 0

Java基础算法之希尔排序(Shell Sort)

希尔排序(Shell Sort)1、算法介绍2、举例演示3、图解4、代码实现(交换法)5、代码实现(移位法)6、运行结果(交换法)1、算法介绍将n个数据的数组分为 n / 2 组(以 n / 2 作为增量,如果是增量的整数倍则为一组)。例如[117, 101, 106, 155, 112, 60],分为 3 组 ,分别为[117, 155],[101, 112],[106, 60]。然后将每组进行插入排序。再将n个数据分为 n / 2*2 组,再以小组为单位进行排序。如果增量为1(n个数据为一组
分类: 其他 发布时间: 09-13 23:00 阅读次数: 0

redis-cluster集群讲解2

总结自 小D课堂 分析cluster集群方式原理 水平切分于垂直切分相比,相对来说稍微复杂一些。因为要将同一个表中的不同数据拆分到不同的数据库中。 分片是一种基于数据库分成若干片段的传统概念扩容技术,它将数据库分割成多个碎片并将这些碎片放置在不同的服务器上。 垂直切分的最大特点就是规则简单,实施也更为方便,尤其适合各业务之间的耦合度非常低,相互影响很小,业务逻辑...
分类: 其他 发布时间: 09-13 23:00 阅读次数: 0

redis RDB持久化原理

rdb持久化配置# 时间策略,表示900s内如果有1条是写入命令,就触发产生一次快照,可以理解为就进行一次备份save 900 1save 300 10 # 表示300s内有10条写入,就产生快照save 60 10000# redis servercron 类似于linux的crontab,默认每隔100毫秒执行一次# 文件名称dbfilename dump.rdb# 如...
分类: 其他 发布时间: 09-13 23:00 阅读次数: 0

Java基础算法之快速排序(Quick Sort)

快速排序(Quick Sort)1、算法介绍(递归)2、举例演示3、图解4、代码实现5、执行结果6、其他排序1、算法介绍(递归)首先确认一个分界值(这里使用中间的数),然后通过分界值将数组分为左右两部分。使用左右指针进行遍历,左指针指向大于分界值的数据,右指针指向小于分界值的数据,然后左右指针进行交换数据,交换后左指针进行前移,右指针进行后移将小于分界值的数据放到分界值的左边,将大于分界值的数据放到分界值的右边。然后将左右两边各取一个分界值,同样将小于分界值的数据放到分界值的左边,大于分界值的数
分类: 其他 发布时间: 09-13 23:00 阅读次数: 0

基于Redis GEO(地理位置) 实现附近的人,商家等相关功能实现 使用SpringBoot Redis工具类

Redis GEO1、基本介绍1、Redis GEO2、基础语法GEOADDGEOPOSGEODISTGEORADIUSGEOHASH2、可用于实现的功能3、SpringBoot实现1、需要的依赖(使用JDK 1.8)2、编写配置类(解决Redis乱码)3、编写Redis GEO 工具类4、基本测试geoAdd方法geoDistance方法geoHash方法geoPosition方法geoRadius方法重载方法一(以某个点为中心点)重载方法二(以某个点为中心点)重载方法二(以某个成员为中心点)geoRem
分类: 其他 发布时间: 09-13 23:00 阅读次数: 0

Redis AOF持久化原理

AOF持久化配置# 是否开启aofappendonly yes# 文件名称appendfilename appendonly.aof# 同步方式appendfsync everysec# aof重写期间是否同步no-appendfsync-on-rewrite no# 重写触发配置auto-aof-rewrite-percentage 100auto-aof-r...
分类: 其他 发布时间: 09-13 23:00 阅读次数: 0