自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Python 代码实现哈夫曼编码

一、哈夫曼编码是什么?哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。哈夫曼编码,主要目的是根据使用频率来最大化节省字符(编码)的存储空间。二、Python 代码实现哈夫曼编码代码如下(示例):from math import inf#初始化哈夫曼结点cla

2022-03-22 21:33:11 6709

原创 躲藏

链接:https://www.nowcoder.com/acm/contest/87/B来源:牛客网XHRlyb和她的小伙伴Cwbc在玩捉迷藏游戏。 Cwbc藏在多个不区分大小写的字符串中。 好奇的XHRlyb想知道,在每个字符串中Cwbc作为子序列分别出现了多少次。 由于Cwbc可能出现的次数过多,你只需要输出每个答案对2000120420010122取模后的结果。 聪明的你在仔细阅读题目后,一...

2018-05-13 19:30:23 243

原创 字典类型

1、理解"映射"映射是一种键(索引)和值(数据)的对应键值对:键是数据索引的扩展字典是键值对的集合,键值对之间无序采用大括号{}和dict()创建,键值对用冒号:表示在字典变量中,通过键获得值d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}>>> d{'中国': '北京', '美国': '华盛顿', '法国'

2018-04-23 20:32:28 4380

原创 列表

1、列表是一种序列类型,创建后可以被随意修改列表用方括号[]或list()创建,元素之间用逗号,分隔l=["df","ey","er","ew",122]>>> l['df', 'ey', 'er', 'ew', 122]>>> h=l #方括号[]真正创建一个列表,赋值仅传递引用>>> h['df',

2018-04-19 20:59:45 178

原创 序列及元组

序列是具有先后关系的一组元素序列是一维元素向量,元素类型可以不同元素有序号引导,通过下标访问序列的特定元素序号从0开始正向递增,反向从-1递减序列类型是一个基类类型包括字符串类型、元组类型、列表类型1、操作符x in s  判断x中是否在S中,在则返回True,否则返回Falsex not in s 判断x中是否不在S中,不在则返回True,否则返回Falses+t  连接俩个序列s*n或n*s ...

2018-04-19 20:56:09 540

原创 白夜行读后感

亮司:目睹父亲像野兽一样做着那样丑陋的事,我想那一刻我的太阳就陨落了。我的太阳、内心深处柔软的东西被夺走了,被破坏了。我任由着悲伤和憎恶支配着自己,拿着那把精致的剪刀,走向那个男人。看着他不停的抽搐,悲伤止不住的蔓延。我不知道这将意味着什么、或许意味着失去父亲但那也不会比失去她重要吧!我大概可以没有父亲,但是不能没有她吧!“我们再也不要见面了。”事后我看着她说。我会像枪虾一样一直守护在雪穗虾虎鱼身...

2018-04-14 16:05:27 3350

原创 python中time库简单介绍

计算机时间的表达提供获取系统时间并格式化输出功能提供系统级精确计时功能,用于程序分析import timetime.<b>()三类函数1、时间获取:time() ctime() gmtime()time() 获取当前时间戳,即计算机内部时间值,浮点数time.time()import time>>> time.time()1523191703.1390917ctime...

2018-04-08 20:58:10 3443

原创 Python字符串类型及其操作

字符串由0个或多个字符组成的有序字符序列1、表示方法2类共4种 单行字符串有一对单引号或双引号表示"qingshuru"或者'c'多行字符串由一对三单引号或三双引号表示'''priuo  uhh '''2、字符串序号有正向递增序号(第一位从0开始)和反向递减序号(倒数第一位从-1开始)3、字符串的使用使用[]获取字符串中一个或多个字符索引:返回字符串中单个字符 <字符串>[m] str...

2018-04-08 19:38:57 403

原创 Python的字符串类型格式化

使用.format()方法槽 {}1、"{}:计算机{}的cpu占用率为{}%".format("2018-10-10","c",10)槽与数字是一一对应的>>> print("{}:计算机{}的cpu占用率为{}%".format("2018-10-10","c",10))2018-10-10:计算机c的cpu占用率为10%>&am

2018-04-08 19:28:46 224

原创 Python简单字符处理

1、x+y 连接两个字符串x和y>>> f="ghig">>> g="jji">>> print(f+g)ghigjji2、n*x或x*n 复制n次字符串xa="hjiu">>> print(3*a)hjiuhjiuhjiu3、x in s 如果x是s的子串,返回True 否则返回F

2018-04-07 20:52:25 214

原创 素数环问题

把1~N(N<=20)个数摆成一个环,要求相邻两个数的和是素数。环的第一个位置应该放1。输出合法环的个数。 输入 输入一个整数 输出 输出环的个数 样例输入 6 样例输出 2 问题分析:首先我们不考虑其它问题,对于组成一个环来说,每组环共由N个数组成,对于每个数,又有N种可能。那么好了,我们自然而然的想到遍历所有的可能,找到符合要求,就能解决问题了。对,就是这样,这就是回溯法要解决的问题,但...

2018-04-07 10:12:14 611

原创 python的一些简单的数值计算和函数操作

#数字类型及操作整数类型与数学中整数的概念一致,可正可负,没有取值范围限制4种进制表示形式:十进制二进制以0b或0B开头八进制以0o或00开头十六进制以0x或0X开头浮点类型与数学中实数一致,即带有小数点及小数的数字,存在取值范围(-10^308到10^308)和精度(10^-16)等问题0.1+0.20.30000000000000004 存在不确定尾数,原因:二进制表示小数,可以无限接近,...

2018-04-06 11:33:03 4558

原创 回溯法——采药

回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法 问题 A: 采药题目描述 辰辰是个很有潜能、天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他...

2018-04-06 09:15:20 327

原创 递归

递归就是不断的调用自身的算法有重要的两步:1、以某种规律递归,不断的调用2、递归必须要有出口,即结束调用找到规律,又该怎么写?我觉得缩小规模是比较好的办法,在较小的规模下是比较容考虑的比较清晰的写出递归的函数,那么这个函数同样适用于大规模的阶乘#include <iostream>using namespace std;int jiecheng(int i){    if(i==1) ...

2018-03-25 18:56:01 138

原创 《天才在左疯子在右》读后感

一念之间,不是天才,就是疯子,总之不是正常人,同样也不为普通人所接受。读那些故事的时候,我觉得那些精神患者讲的有理有据,或许我比较无知,不能发觉逻辑上的漏洞。书中有写到有许多精神病医师都告诉作者,千万千万别太在意精神病人说的话,别深想他们告诉你的世界观,否则你迟早也会疯的。我觉得这句话说的特别对,我想精神病患者不同于常人的本质在哪,就是不同的世界观。我虽然在听他们讲述自己的世界观时,觉的正确,

2017-12-17 16:44:00 14774 1

原创 最长上升子序列

给定一个序列,求其最长子序列的长度假设序列为 3 6 2 3 4 第一个数是 3 前面没有比 3 小的,所以 dp[0]=1;第二个数是 6 前面 3 比 6 小,所以 dp[1]=dp[0]+1;第三个数是 2 前面没有比 2 小的,所以 dp[2]=1;第四个数是 3 前面有比 3 小的,所以 dp[3]=dp[2]+1;第五个数是 4 前面有比 4 小的,所以 dp[

2017-11-22 16:06:16 173

原创 数字三角形

从第一行的数开始,每次可以往左下或右下走一格,直到走到最下行,把沿途经过的数全部加起来,如何走才能使的这个和尽量大?1、从下往上走,直到第一行第一个数一定是最大的转换成下列存储形式7    38   810  2744 

2017-11-22 15:55:41 213

原创 最小硬币数

输入一个金额,从现有的1,5,10,20,50,100,这六种中取,问最少取多少个硬币才能正好凑够*/#include#include#includeusing namespace std;#define MAX 10000int dp[MAX];Inint(){    for(int i=0;i        dp[i]=i;}int ma

2017-11-19 21:00:31 542

原创 数据结构之快速排序

#includeusing namespace std;int a[10000];int partition(int a[],int low,int high){    int temp=a[low];//记录子表的第一个元素的值为枢值    while(low    {        while((low=temp))//将比枢值小的移到低端

2017-11-15 19:04:25 192

原创 生理周期

人有体力、情商、智商的高峰日子,它们分别每隔23天、28天和33天出现一次。给定三个高峰出现的日子p,e,i;再给定另一个日子d,计算出d之后三个高峰在同一天出现的日子(用距离d的天数作为输出)。例如,给定d为10,三个高峰出现同一天为12,则输出为2;枚举也要尽可能的减少枚举次数,剔除不可能的情况#includeusing namespace std;int main()

2017-11-15 15:42:36 647

原创 完美立方

形如a*a*a=b*b*b+c*c*c+d*d*d,称为完美立方。给定一个数n,输出小于等于n且满足完美立方的数。a,b,c,d都不是负数,且都大于一。b输出格式如 6 3 4 5,如果输出多组,按a从小到大输出,若a相等,按b从小到大输出,以此类推。 #includeusing namespace std;int main(){    int n;    cin>

2017-11-15 15:25:37 346

原创 二分法求解方程的解

运用二分法求解方程,方程必须是单调的,这样才能保证在寻找的区间内找到解#include#include#include#includeusing namespace std;#define EPS 0.000001 //认为方程的值小于这个精确度即为其解double y(double x){    return x*x*x-5*x*x+10*x-80;}

2017-10-30 09:03:59 1600

原创 冒泡、选择、插入简单排序

1、冒泡#includeusing namespace std;int a[10000];void maopao(int a[],int n){    for(int i=1;i//不断的拿第一个元素与之相邻的元素比较,前面的大,就交换值        for(int j=0;j    {        if(a[j]>a[j+1])        {

2017-10-28 20:12:16 170

原创 判断是否为其子串

两个不为空的子串,str1和str2,判断如果str2是否为str1的子串,返回子串的起始下标,如果不是,返回-1;例如:asdfgh    df  返回值为2;asdfgh    zx   返回值为-1;#include#includeusing namespace std;char str1[1000],str2[1000];int str(char str1[],ch

2017-10-24 20:45:42 3347

原创 冒泡排序的改进

1、改进前的缺点,如果数组后几位数如果已经是从小到大排序,但这个函数里的循环仍要进行下去,浪费时间#includeusing namespace std;int a[10000];void maopao(int a[],int n){    for(int i=1;i        for(int j=0;j    {        if(a[j]>a[j+1]

2017-10-24 20:10:28 128

原创 矩阵乘法

矩阵乘法:两个二维数组的乘法,能够进行乘法的条件是第一个矩阵的列数必须等于第二个矩阵的行数;矩阵乘法的原理:第一个矩阵每一行与第二个矩阵的每一列相乘之和,列入第一个矩阵第一行与第二个矩阵的第一列相乘之和是新矩阵的第一行第一列,以此类推矩阵的乘法结果是得到一个矩阵的行数和第二个矩阵的列数;#includeusing namespace std;#define rows 10

2017-10-20 20:21:06 677

原创 牛顿迭代法输出n的平方根

牛顿迭代法公式x2=(x1+n/x1)/2x1与x2的差值小于精确度即认为是n的平方根#include"iostream"#include"cstdio"#include"cmath"#define eps 0.000001//精确度using namespace std;int main(){int n;

2017-10-14 11:01:14 241

原创 摆渡人 ——克莱尔.麦克福尔 读后感

一片深红色的荒野上点缀着茫茫然移动的灵魂,既茫然跟随别人,又被别人茫然跟随。现在却感觉自己像一块海中的石子在阻挡潮水一样。人活不过百年,活出滋味十不存一。求学之后的结婚生子,再到后来退休、颐养天年,在中国来说这就是一条历史大河,年轻的支流必将汇入主流。正如荒野上茫茫然移动的灵魂,既茫然跟随别人,又被别人茫然跟随。代代如此,不过千篇一律,何谈所谓人生百态?茫然跟随就像无形的壁垒挤压你生活的空间,它无...

2017-10-14 10:59:20 2052

原创 判断素数

输出不大于n(n>2)的质数1.#include #include#includeusing namespace std;int main(){    int n,k;    cin>>n;    for(int i=2;i    {        for(k=2;k            if(i%k==0)        {

2017-10-14 10:54:30 174

原创 兄弟数

如果俩个不同的整数,满足两数之和是他们乘积的因子,则称为兄弟数(两数中小的是弟数,大的是兄数)。给定整数n和m,从他们之间找出一对兄弟数,且两数之和最小,如果和一样大,则输出弟数小的那对兄弟数。#include "iostream"#include"cstdio"#include"cmath"using namespace std;int main(){    in

2017-10-14 10:49:59 2375 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除