自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ymm

最文艺的程序员

  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 判断链表是否有环并找出环的入口(Leetcode 142)

记录一下做题思路#题目描述Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull.To represent a cycle in the given linked list, we use an integerposwhich represents the position (0-indexed)in the linked list where tail ...

2020-07-04 23:41:03 364

原创 2020.4.8 阿里巴巴笔试

题目1小强开始了他的功夫特训,特训的时间为n秒,有m个木头人,每个木头人的血量为a。小强的攻击范围为b,小强每次攻击能对最多b个存活的木头人造成1点伤害,每次攻击需要1秒,当经过一次攻击后木头人的血量为0,木头人死亡。当特训结束时,小强最多能消灭多少个木头人。输入:Tn,m,a,b例:input:15 5 2 2output:5解释:第一次攻击:1 1 2 2 2第二次攻...

2020-04-12 22:32:45 1121 3

原创 jetson tx1为python3配置opencv

1、jetson提供的刷机包本身自带了opencv,但是这个opencv只用在python2下使用,因为项目需求,一定要在python3下使用opencv。2、看了很多网友的教程,如https://blog.csdn.net/qq_25005909/article/details/78554469,这位网友写的很详细,包括opencv依赖库的安装,还有一些参数的设置,这里重要的是cmake的参...

2018-07-31 18:37:45 1662

原创 jetson tx1安装TensorFlow 1.6

环境:ubuntu 16.04cudn 9.0cudnn 8.01、网上有很多教程,关于如何在jetson tx1板子上对TensorFlow进行源码编译,但是因为版本迭代等问题,很多人写的脚本已经不能用了,包括jetson官方给的安装脚本,我也没有成功。几经波折,找到了一位大佬编译好的安装镜像,真的是一道曙光。链接如下:https://github.com/openzeka/...

2018-07-30 17:58:13 790 3

原创 The Buffer Bomb

Lab2 缓冲炸弹一 问题描述      本题利用程序留出的输入缓冲区,将输入数据转换成字符串存放在栈区中,当输入字符串长度大于预留的缓冲大小时,多出的部分将覆盖栈帧中的其他内容,从而达到改变程序运行顺序,甚至添加其他程序修改数据等目的。二 解题思路1、  level 0实验要求:改变程序的原始执行顺序,使程序在执行完getbuf后返回到smoke函数处运行。解决本题,重要的是理解栈帧的形成,以及...

2018-06-22 17:07:37 1517

原创 Defusing a Binary Bomb

Lab1 拆除炸弹一 问题描述        本实验仅给出了一个可执行的二进制文件,该程序共有6处需要从终端进行输入,即该实验的6个问题,只有输入程序预期的数据,才能通过实验。二 解题思路        使用反编译objdump工具将二进制文件反编译成AT&T格式的汇编代码,阅读并分析汇编代码,同时结合gdb查看内存、寄存器等,确定输入数据。1、  phase_1phase_1函数部分的汇...

2018-06-22 16:50:11 962

原创 Lab 5: Writing a Concurrent Voting Server

CSAPP系列实验之------Lab 5: Writing a Concurrent Voting Server本次实验的任务是编写一个投票器,需要支持多线程连接,单个线程内可以进行多条命令操作,同时要保证投票结果的正确性。总体来说就是一个Linux下进行的C网络编程,主要是服务器端的编写,以及简单信号量的处理。下面先贴代码:/* * pollsrv - a server to track ...

2018-06-19 17:18:12 239

原创 使用pyaudio出现IOError: [Errno -9985] Device unavailable

问题来源:       使用平台:友善之臂+debain+pyaudio        pyaudio安装使用下面命令,安装过程并未出错。     sudo apt-get install pyaudio       在使用Python编写一个语音识别的程序的时候,采用PyAudio模块来采集声音,前两次都能正常采集,但是到了第三次的时候就出现了“[Errno -9985] Errno Devic...

2018-05-11 12:41:00 3986

转载 指数分布与泊松分布

我举一个例子,什么是泊松分布和指数分布?恐怕大多数人都说不清楚。我可以在10分钟内,让你毫不费力地理解这两个概念。一、泊松分布日常生活中,大量事件是有固定频率的。某医院平均每小时出生3个婴儿某公司平均每10分钟接到1个电话某超市平均每天销售4包xx牌奶粉某网站平均每分钟有2次访问它们的特点就是,我们可以预估这些事件的总数,但是没法知道

2017-08-09 19:18:42 1066 1

原创 Sample语言编译与运行及简单虚拟机器的设计实现

记录一下编译原理课程设计的内容(Java )。这是一次课程设计,代码中有很多漏洞,欢迎来喷。Sample语言的编译包括,词法分析,语法分析,语义分析及中间代码生成,中间代码转化为汇编代码。词法分析采用有穷自动机实现,语法分析和语义分析均为自上而下进行。中间代码转化为汇编的过程中统一采用变址寻址方式,简单粗暴,未做更多优化。Sample语言具有一般高级语言的共同特征:字符集包括所有的大小写字

2017-07-07 16:25:04 3281 2

转载 x86指令格式

当计算机处理器芯片运行时,它读取存储在内存中的指令码。每个指令码集合可能包含一个或多个字节的信息,这些信息指示处理器完成特定的任务。每条指令码都是从内存中读取的,指令码所需的数据也是存储在内存中并从内存中读取。包含指令码的内存字节和包含处理器使用的数据的字节没有区别。    为了区分数据和指令码,要使用专门的指针(pointer)帮助处理器跟踪数据和指令码存储在内存中的位置。

2017-06-28 18:59:22 1216

转载 80386registers

寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。用途:1.可将寄存器内的数据执行算术及逻辑运算。2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。3.可以用来读写数据到电脑的周边设备。8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:AH&AL=AX:累加寄存器,常用于运算;BH&BL=BX:基址寄存器,常用于地址索引;CH&CL=CX:计

2017-02-21 21:30:56 254

转载 Linux查看CPU和内存使用情况

Linux查看CPU和内存使用情况在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。

2017-01-10 22:09:57 214

转载 51单片机的IO口驱动能力、灌电流、拉电流、上拉电阻的选择

单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是单片机的输出电压。但是程序控制不了单片机的输出电流。单片机的输出电流,很大程度上是取决于引脚上的外接器件。单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载;单片机输出高电平时,则允许外部器件,从单片机的引脚拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”。

2016-12-16 13:46:16 7298 1

原创 51单片机复位电路详解

复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。     开机的时候为什么为复位在电路图中,电容的的大小是10uf,电阻的大小是10k。所以根据公式,可

2016-12-10 10:14:54 17573

原创 首次适应算法实现主存的分配与回收

一、    实验内容1、 内存分配。为了将一个新作业装入内存,必须按照一定的分配算法。本次实验,在内存分配时,从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止。然后再按照作业的大小,从该分区中划分出一块内存空间,分配给请求者,余下的空闲分区仍留在空闲链中。若从链首直到链尾都不能找到一个能满足要求的分区,则表明系统中已没有足够大的内存分配给该进程,内存分配失败,返回。2、 内存回

2016-12-02 20:48:19 6912 1

原创 callback机制回调机制

一、系统自动实现的回调机制callback 机制在Android 中无处不在,特别是以Handler、Callback、Listener这三个词结尾的,都是利用callback机制来实现的。比如:1)接口onClickListener就是封装在View中的callback。        View.OnClickListenerclickListener=newOnClickLis

2016-12-01 16:50:50 2098

转载 layout_weight详解

首先声明只有在Linearlayout中,该属性才有效。之所以Android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。如下所示:[html] view plain copy print?Linear

2016-11-29 16:10:49 267

转载 android工具类Utils集合

整理出10个基本每个项目中都会使用的工具类,用于快速开发。1、日志工具类L.java[java] view plaincopypackage com.zhy.utils;    import android.util.Log;    /**  * Log统一管理类  *   *   *   

2016-11-26 16:09:56 388

转载 经典蓝牙与BLE的扫描

一、蓝牙能做些什么近距离通信:收发数据,指令控制蓝牙设备通常是穿戴式,便携式,室内或车内等,正是因为蓝牙适用于近距离通信的特点。如果要做远距离通信,则可借助于Wifi,用手机或网关做中转。广播消息、通知蓝牙可以以一定的周期发送广播,手机端接收到广播后,解析广播包,可做设备识别、配对,事件通知以及指令控制等。低精度定位根据设备的信号强度

2016-11-21 20:53:26 13526 2

转载 android蓝牙开发 蓝牙设备的查找和连接

Android对于蓝牙开发从2.0版本的sdk才开始支持,而且模拟器不支持,测试至少需要两部手机,所以制约了很多技术人员的开发。      1.  首先,要操作蓝牙,先要在AndroidManifest.xml里加入权限  // 管理蓝牙设备的权限  Android.permission.BLUETOOTH_ADMIN" /> // 使用蓝牙设备的权限  

2016-11-21 15:08:45 2113

转载 android启动活动的一种方法

Android之启动活动的最佳方法启动活动的办法或许很简单,只需要用Intent构建出我们启动的活动意图,然后调用startActivity()或者startActivityForResult()方法启动活动就可以了。同时还可以借助intent来传递数据。那么最佳启动活动的办法是什么呢? 我们需要在我在打算要启动的活动中添加一个静态方法:[java]

2016-11-20 20:20:29 450

转载 瓷片电容容量 102 103 104 222 223 472 473 474 是多少

电容单位:一般是 微法(uF)、纳法(nF)、皮法(pF)。由于单位F(法拉)的容量太大,所以我们看到的一般都是μF、nF、pF的单位。1F = 1000 毫法 = 1000,000μF 微法1μF = 1,000nF = 1000,000pF 电容:104为0.1uF103为0.01uF474为470000pF或470nF或0.47uF473为4700

2016-11-18 21:21:28 93675 2

转载 AsyncTask异步任务

AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l  简单,快捷l  过程可控       使用的缺点:l

2016-11-11 20:08:21 227

转载 Android Activity生命周期中的7个阶段

Android Activity生命周期中可认为分为7个阶段;用7个函数原型来描述吧protected void onCreate(Bundle savedInstanceState)protected void onStart()protected void onResume()protected void onPause()protected void onStop()

2016-11-10 20:49:01 777

转载 IP数据报在各层的信息格式

计算机网络相关知识点:总结如下,供大家参考,也可以成为自己日后的工具。图中括号中的数字代表的是当前域所占的空间大小,单位是bit位。黄色的是数据链路层的头部,一共14字节绿色的部分是IP头部,一般是20字节紫色部分是TCP头部,一般是20字节最内部的是数据包内容黄色部分:链路层目的MAC:当前step目的主机的mac地

2016-11-05 20:59:50 2016

原创 当ScrollView遇上OnGestureListener

今天模仿qq写了一个界面,使用ScrollView显示联系人列表,使用OnGestureListener实现滑动界面,但是发现其他的fragment都可以正常的处理OnGestureListener,只有联系人列表这个界面无法响应OnGestureListener的处理,经过一点一点的排查,终于发现是ScrollView除了问题。然后就开始翻遍的各种资料,终于找到解决办法。  应该先覆

2016-10-20 22:21:54 297

转载 Linux网络编程简单示例

转自:http://blog.chinaunix.net/uid-25695950-id-4485000.html参考博文:http://www.cnblogs.com/luxiaoxun/archive/2012/10/16/2725760.html示例程序是国嵌的linux 网络编程是通过socket(套接字)接口实现,Socket是一种文件描述符,socket

2016-10-10 17:12:46 514

原创 linux编程之make的使用

程序维护工具makeLinux环境下编写代码使用GUN的make可以比较方便的构建自己的项目。通常一个应用程序会包含许多文件,当只有一个源文件的时候,当然还是选择手动编译链接,当应用程序有相当多的文件的时候,通过gcc手动编译就显得相当困难。如果其中某个文件被修改,就需要对文件进行重新编译链接,此时如果手动编译的话就相当浪费时间。使用程序维护工具make,我们需要定义一个makefile或者M

2016-09-17 15:25:07 630

lab5-pollsrv(Writing a Concurrent Voting Server)

本次实验的任务是编写一个投票器,需要支持多线程连接,单个线程内可以进行多条命令操作,同时要保证投票结果的正确性。总体来说就是一个Linux下进行的C网络编程,主要是服务器端的编写,以及简单信号量的处理。

2018-06-19

仿qq内网即时通讯工具(UDP)

仿qq内网即时通讯工具-----------------------------------------------------------------------------------------------------------------------

2018-05-14

51开发板原理图及PCB文件

51 原理图 PCB 直接打样

2016-10-12

空空如也

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

TA关注的人

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