- 博客(24)
- 资源 (26)
- 问答 (20)
- 收藏
- 关注
原创 数据结构-目录
文章目录1 为什么学习数据结构2 链表3 栈4 队列5 递归6 树7 图1 为什么学习数据结构1.1 抽象数据类型ADT(Abstract data type),以及为什么要学习数据结构?1.2 数据结构基础知识梳理2 链表2.1 链表的使用形式2.2 环形链表的判断方法及实现2.3 数组和链表的实例讲解——以Facebook为例2.4 语言进阶-第四周:利用链表逆序输出(10分)...
2019-09-05 21:26:59 695
原创 数据结构与算法实战-周强》——N进制高精度加法
文章目录题目分析代码题目分析需要考虑输入的两个加数的几种情况:位数多的+位数少的,位数相等进行相加,同时还需要考虑进位。最开始加完之后的数据用reverse反转,奇怪的是怎么都反转的不对(实际上看起来像是失效了),最后换成用字符数组处理。代码#include <iostream>#include <string>#include <algorithm&...
2019-09-30 16:15:28 645
原创 Two Sum 问题——哈希算法
文章目录题目代码拓展题目这个问题的最基本形式是这样:给你一个数组和一个整数target,可以保证数组中存在两个数的和为target,请你返回这两个数的索引。比如输入nums = [3,1,3,6],target = 6,算法应该返回数组[0,2],因为 3 + 3 = 6。这个问题如何解决呢?首先最简单粗暴的办法当然是穷举了,这个解法非常直接,时间复杂度 O(N^2),空间复杂度 O(1)...
2019-09-30 09:43:34 956
原创 《数据结构与算法实战-周强-3.4》——简单模拟单队列排队
文章目录题目分析代码题目用程序简单模拟一个单队列多窗口的排队模式:设某银行有一个固定能容纳N个顾客的等候区,顾客想进银行,若等候区有空则可进,否则被拒绝进入。每当银行柜员叫号时,等候区中最先进入的顾客离开等候区前往柜台办理业务,若叫号时等候区无人,则此次叫号作废。输入格式:第一行输入一个不大于20的正整数N,表示银行等候区能容纳的人数,接下来用若干行表示依时间顺序先后发生的“顾客想进...
2019-09-29 20:18:17 1070
原创 《数据结构与算法实战-周强-2.2》——大炮打蚊子
文章目录题目分析代码题目现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:OOXOO其中,X为炮弹落点中心,O为紧靠中心的四个有杀伤力的格子范围。若蚊子被炮弹命中(位于X格),一击毙命,若仅被杀伤(位于O格),则损失一半的生命力。也就是说,一次命中或者两次杀伤均可消灭蚊子。现在给出蚊子的分布情况以及连续k...
2019-09-29 20:13:50 843
原创 高效对有序数组/链表去重
题目分析显然,由于数组已经排序,所以重复的元素一定连在一起,找出它们并不难,但如果毎找到一个重复元素就立即删除它,就是在数组中间进行删除操作,整个时间复杂度是会达到 O(N^2)。而且题目要求我们原地修改,也就是说不能用辅助数组,空间复杂度得是 O(1)。其实,对于数组相关的算法问题,有一个通用的技巧:要尽量避免在中间删除元素,那我就先想办法把这个元素换到最后去。这样的话,最终待删除的元...
2019-09-26 22:32:40 346
原创 LeetCode011:盛最多水的容器
题目给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。分析可以使用两端各一个指针移动进行计算:定义 i 和 j 两个指针分别指向数组的左右两端,然后两个指针向中间搜索,并且更新面积最大值 res,直到...
2019-09-26 22:27:24 195
原创 python羊车门问题的蒙特卡洛解法
羊车门问题羊车门问题描述:有3扇关闭的门,一扇门后停着汽车,另外两扇门后是山羊,主持人知道每扇门后是什么。参赛者首先选择一扇门。在开启它之前,主持人会从另外两扇门中打开一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后,能否增加猜中汽车的机会?通过设计并编写程序验证,并给出自己的解释。————————————————我认为会增加选中汽车的机会。原因如下:(1)...
2019-09-25 22:13:22 577
原创 队列的C、C++实现
C#include <stdio.h>#include <stdlib.h>struct Queue{ int *data; int capacity; int front; int rear;}; void init(struct Queue *pq,int capacity){ pq->capacity=capacity; pq->...
2019-09-25 20:26:27 217
原创 《数据结构与算法实战-周强-3.3》——后缀式求值
文章目录题目:分析实现Python实现C++实现题目:我们人类习惯于书写“中缀式”,如 3 + 5 * 2 ,其值为13。 (p.s. 为什么人类习惯中缀式呢?是因为中缀式比后缀式好用么?)而计算机更加习惯“后缀式”(也叫“逆波兰式”,Reverse Polish Notation)。上述中缀式对应的后缀式是: 3 5 2 * +现在,请对输入的后缀式进行求值。输入格式:在一行中输入一...
2019-09-19 22:32:14 1680
原创 Python常用函数总结
文章目录1 数学函数1.1 abs()函数——获取绝对值1.2 divmod()函数——获取商和余数的元组1.3 sum()函数——求和1.4 round()函数——保留n位小数,四舍五入1.5 pow()函数——求指数运算1.6 min()函数——求最小值1.7 max()函数——求最大值2 数据转换函数2.1 hex()函数——转化为十六进制(0x)2.2 oct()函数——转化为八进制(0o...
2019-09-19 14:48:23 13750
原创 Python高效处理字符串
Python作为第一种超级语言,很多操作极其简单。现将字符串处理的高效操作整理如下:字符串的连接和合并字符串的连接:可以直接使用+连接两个字符串。例如:str_3='hello'+'world'字符串的合并:可以使用join方法url=["www","baidu","com"]print(".".join(url))>>>www.baidu.com字符串...
2019-09-17 23:17:50 1843
原创 《数据结构与算法实战》3-2:链表
链表是学数据结构的童鞋最先接触的一种数据结构。C语言的链表需要自己用指针和结构体去构造,也最能训练队链表的理解程度。C++可以使用STL中的list实现,而Python则可以直接使用列表类型,列表类型可以当做数组、顺序表、链表。下面是C的实现方式#include <stdio.h>#include <iostream>#include <stdlib.h>...
2019-09-17 22:47:59 237
原创 《数据结构与算法实战》3-1:顺序表
顺序表比较容易理解,可以使用数组或者结构体实现,课程中给出的例子是一个很好的顺序表的例子:#include <stdio.h>#define MAX 10struct SList{ //定义顺序表的结构体 int data[MAX]; int length;};void init(struct SList *p){ p->length ...
2019-09-16 17:04:08 396
原创 C++的几种特殊函数:带默认形参值的函数,重载函数,内联函数
C++中有几种常见且重要的特殊函数,查阅了相关资料,整理如下:带默认形参值的函数函数可以带默认形参值,即在函数的某些变量中没有数据传入时,使用默认值,如有数据传入,再使用传入值。实例:#include <iostream>using namespace std;void fun(int p=10); //指定文件作用域的形参默认值为10int main(){ ...
2019-09-15 10:25:11 570
原创 C++和Python的正则表达式
正则表达式在字符匹配上有很巧妙的作用,特别是字符串形式或者结构的检查方面。C语言没有源生的正则表达式库函数或者头文件,而C++和Python具有。C++C++的正则表达书头文件是,这是regular expression正则表达式的缩写。具体的应用实例:例1:#include <iostream>#include <regex>using namespace...
2019-09-13 20:13:54 874
原创 Python变量使用的说明
python的变量统统是引用型的。请看下面的代码并思考:a=4print(id(a)) #取a地址并打印print(id(4))print(id(6))a = a+1print(id(a)) # 对a+1求值并重新创建一个对象a="hello"print(id(a)) # python的变量统统是引用型的,上述4,a+1,"hello"统统是新建立的对象,而a=对象是调...
2019-09-11 22:21:18 426
原创 C/C++数组的申请方式总结
C语言中数组的申请方式有两种:静态申请固定大小的空间、动态申请内存空间。动态申请需要用到malloc函数,记得要释放。#include <stdio.h>#include <stdlib.h>int func(int *p,int size){ return *(p+2); }int main(){ int array[10]={1,2,3,4,5}; ...
2019-09-11 22:19:05 4255
原创 网络上流传的华为笔试题练习
文章目录1、进制转换2、数字去重排序1、进制转换写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。输入例子1:0xA输出例子1:10# 进制转换string=input()list="0123456789ABCDEF"sum=0for i in range...
2019-09-10 13:57:59 2735
原创 Python实现C语言的结构体及其应用
虽然相比于Python,C是一种较低级的语言。但是C语言对底层内存的使用却是高级语言望尘莫及的。同时C语言虽然数据的处理和操作相较于Python比较繁琐,但是C也有其自己的优点,比如结构体。结构体在处理不同数据类型共同构成一个整体的复合数据类型时非常有用。但是Python本身没有结构体类型,我们可以通过定义一个类来实现结构体的类似功能,同时实例化类就可以创建结构体对象。如下:class myd...
2019-09-10 08:25:26 4536 4
原创 编程面试题总结
文章目录1、堆和栈的区别2、引用与指针的区别3、malloc()申请的内存空间能不能在函数中返回1、堆和栈的区别这里的堆和栈指的是内存里面的堆区和栈区。C语言的内存模型可以分为5类:栈区、堆区、静态区、常量区、代码区。栈区stack:存放函数的参数值,局部变量等等。由编译器自动分配和释放(可以回忆编程的时候好像局部变量不需要特别的申请内存和释放),通常在函数执行结束之后释放。其操作方式类似...
2019-09-09 20:20:15 990
原创 2018年华为机试题目
1.数字处理题目描述:给出一个不多于5位的整数,进行反序处理,要求(1)求出它是几位数(2)分别输出每一个数字(空格隔开)(3)按逆序输出各位数字(仅数字间以空格间隔,负号与数字之间不需要间隔)输入描述:位数不大于5的整数输出描述:1.整数位数 2.空格间隔输出结果 3.逆序整数C++实现//1、数字处理 #include <iostream>#include &l...
2019-09-08 21:56:35 767
原创 用面向对象的方法模仿消息的订阅器与发布器
面向对象的设计方法是将研究对象抽象为类,从中提取研究对象共有的方法和属性,从而高效的实现代码复用。消息的订阅与发布可以抽象为以下的几种基类:消息类:定义消息的类型(标题、内容、长度等等),消息的输出函数;发布器:消息的打印,处理;订阅器:订阅者的增删改查;class News(): def __init__(self,name,title,kind,content): self.n...
2019-09-06 15:54:58 397
原创 栈的应用和实现
文章目录1 stack基本用法和实例1.1 基本用法1.2 C++栈的实例1.3 Python栈的实例2 stack实现2.1 stack的C++实现2.2 stack的Python实现1 stack基本用法和实例1.1 基本用法push():向栈内压入一个元素pop(): 向栈顶弹出一个元素empty():判断栈是否为空,为空返回true;反之falsetop:返回栈顶元素,但不删...
2019-09-05 21:06:13 312
plot_function.zip
2020-02-13
传递函数响应.zip
2020-02-13
EasyX2018春分版软件
2018-04-09
仅5M小巧好用的PDG文件阅读器
2017-09-25
simulink中如何把仿真中实时计算的像素点及对应坐标显示出来,最后应显示一张照片?
2020-08-11
C++字符串处理:为何不能去掉s3=s1;这一句代码
2018-11-29
1020 月饼 ,测试案例有三个不能通过,提示错误,求帮助!
2018-11-22
1013 数素数 测试点4通过不了,请教有何问题
2018-11-21
PAT乙级1079测试点2/3/4提示答案错误,有哪些情况未考虑到?
2018-11-18
1072 开学寄语,AC时三个测试都通不过,提示格式错误,答案错误,求助
2018-11-14
1066 图像过滤,AC时为什么提示超时?
2018-11-12
PAT乙级1059 C语言竞赛 测试点2通过不了,求助呀
2018-11-11
PAT1045运行超时我知道原因,还提示格式错误是哪里有问题
2018-11-04
1034 有理数四则运算 测试点2通过不了,求助
2018-10-31
1070 结绳 代码疑惑,代码意思是一样的呀
2018-10-28
1028 人口普查最后一个测试点通过不了
2018-10-28
1025 反转链表 ,提交没有AC,单独测试倒是可以
2018-10-26
PAT1005 继续(3n+1)猜想,提示Segmentation Fault
2018-10-25
PAT1024提交时出现问题,提示Segmentation Fault。请帮忙解决
2018-10-24
PAT1020月饼,为什么市场需求need每次还都是20 呢?
2018-10-23
PAT1019 数字黑洞 提交时Time Limit Exceeded
2018-10-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人