自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

思想的苇草

Life Is Short

  • 博客(84)
  • 收藏
  • 关注

转载 win10 pip升级

以管理员身份打开控制台,输入D:\Python\python.exe -m pip install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple回车即可。其中D:\Python\python.exe是我自己的文件路径,要根据电脑具体python.exe路径更改。参考https://jingyan.baidu.com/album/5...

2020-03-29 22:49:17 299

原创 【牛客】查找(C++)

题目描述输入数组长度 n 输入数组 a[1...n] 输入查找个数m 输入查找数字b[1...m] 输出 YES or NO 查找有则YES 否则NO 。输入描述:输入有多组数据。每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m,n<=100)。输出描述:如果在n个数组中输出YES否则输出NO。#include &lt...

2020-03-07 21:12:40 428

原创 【牛客】找最小数(C++)

题目描述第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。输入描述:输入有多组数据。每组输入n,然后输入n个整数对。输出描述:输出最小的整数对。compare函数重载#include <iostream>#inclu...

2020-03-07 19:31:33 1932

原创 【牛客】二叉排序树(C++)

题目描述输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。输入描述:输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出描述:可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。输入中可能有重复元素,但是输出的...

2020-03-07 18:33:22 375 1

原创 【牛客】复数集合(C++)

题目描述 一个复数(x+iy)集合,两种操作作用在该集合上: 1、Pop 表示读出集合中复数模值最大的那个复数,如集合为空 输出 empty ,不为空就输出最大的那个复数并且从集合中删除那个复数,再输出集合的大小SIZE; 2 Insert a+ib 指令(a,b表示实部和虚部),将a+ib加入到集合中 ,输出集合的大小SIZE; 最开始要读入一个int n...

2020-03-07 16:10:44 869

原创 【牛客】查找(C++)

题目描述 读入一组字符串(待操作的),再读入一个int n记录记下来有几条命令,总共有2中命令:1、翻转 从下标为i的字符开始到i+len-1之间的字符串倒序;2、替换 命中如果第一位为1,用命令的第四位开始到最后的字符串替换原读入的字符串下标 i 到 i+len-1的字符串。每次执行一条命令后新的字符串代替旧的字符串(即下一条命令在作用在得到的新字符串上)。 命令格式:第一...

2020-03-06 21:51:36 197

原创 【牛客】树查找(C++)

题目描述有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入描述:输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出描述:输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。先找目标层第一个节点下标再找最后一个节点下标。#inc...

2020-03-06 15:30:55 313

原创 【牛客】打牌(C++)

题目描述牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。 规则:出牌牌型有5种 [1]一张 如4 则5...9可压过 [2]两张 如44 则55,66,77,...,99可压过 [3]三张 如444 规则如[2] [4]四张 如4444 规则如[2] [5]五张 牌型只有12345 23456 34567 45678 56789五个,后面的比前面...

2020-03-05 22:46:54 843

原创 【牛客】C翻转(C++)

题目描述首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据。 操作类型有四种: 1 2 表示:90度,顺时针,翻转4个数 1 3 表示:90度,顺时针,翻转9个数 2 2 表示:90度,逆时针,翻转4个数 2 3 表示:90度,逆时针,翻转9个数输入描述:输入有多组数据。每组输入一个5...

2020-03-04 23:49:51 416

原创 【牛客】矩阵幂(C++)

题目描述给定一个n*n的矩阵,求该矩阵的k次幂,即P^k。输入描述: 第一行:两个整数n(2<=n<=10)、k(1<=k<=5),两个数字之间用一个空格隔开,含义如上所示。接下来有n行,每行n个正整数,其中,第i行第j个整数表示矩阵中第i行第j列的矩阵元素Pij且(0<=Pij<=10)。另外,数据保证最后结果不会超过10^8。输出描述:...

2020-03-04 06:42:31 2199

原创 【牛客】查找第K小数(C++)

题目描述查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数为3。输入描述:输入有多组数据。每组输入n,然后输入n个整数(1<=n<=1000),再输入k。输出描述:输出第k小的整数。注意优先级队列的使用方法,读取队列元素。#include <iostream>#include <cstdio&...

2020-03-03 01:54:43 1234

原创 【牛客】比较奇偶个数(C++)

题目描述第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。输入描述:输入有多组数据。每组输入n,然后输入n个整数(1<=n<=1000)。输出描述:如果偶数比奇数多,输出NO,否则输出YES。#include <iostream>#include <cstdio>using n...

2020-03-02 17:22:53 601

原创 【牛客】哈夫曼树(C++)

题目描述哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。输入描述:输入有多组数据。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。输出描述:输出权值。定义优先级队列,并设置优先级低先输出。依...

2020-03-02 16:51:21 866

原创 【牛客】二进制数(C++)

题目描述大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。输入描述:每行有一个数字n(0<=n<=10^8),表示要求的二进制串。输出描述:输出共T行。...

2020-03-02 13:38:01 1226

原创 【牛客】Old Bill(C语言)

题目描述 Among grandfather's papers a bill was found. 72 turkeys $_679_ The first and the last digits of the number that obviously represented the total price of those turkeys are replaced he...

2020-01-29 00:09:40 530

原创 【牛客】百鸡问题(C语言)

题目描述 用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。输入描述: 测试数据有多组,输入n。输出描述: 对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。C语言代码:#include "stdio.h"int main()...

2020-01-28 18:43:12 695

原创 【牛客】与7无关的数(C语言)

题目:一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7, 则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和。输入描述:案例可能有多组。对于每个测试案例输入为一行,正整数n,(n<100)输出描述:对于每个测试案例输出一行,输出小于等于n的与7无关的正整数的平方和。C语言代码:#include "s...

2020-01-28 02:20:57 5946 1

原创 牛顿法-求解一元二次函数最小值(C语言)

#include "stdio.h"#define F(x) (x*x+2*x+3) //目标函数#define dF(x) (2*x+2) //函数一阶导#define dF_(x) 2 //函数二阶导#define update(x) (x-dF(x)/dF_(x)) //x更新规则void main(){ double x0, y0, x1, y1...

2020-01-19 01:58:07 2111

原创 leetcode5:最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"这道题一开始我是用了暴力求解,即设定i,j头尾指针,left,right为子串窗口,s[i]与s[j]相等时两指针同时向中间靠拢。s[i]与s[j]不相...

2020-01-15 21:53:52 254

原创 softmax函数实现(C语言)

关于softmax函数:https://www.cnblogs.com/alexanderkun/p/8098781.htmlC语言实现:#include "stdio.h"#include "math.h"void main(void){ int i = 0; double sum = 0; int vertor0[6] = {1,2,3,4,5,6}; //初始向...

2020-01-09 17:05:05 2776

原创 梯度下降-求解一元二次函数最小值(C语言)

#include "stdio.h"#define F(x) (x*x+2*x+3) //目标函数#define dF(x) (2*x+2) //函数求导#define learning_rate 0.1 //步长#define update(x) (x-learning_rate*dF(x)) //x更新规则void main(){ double x0, y...

2020-01-09 15:32:52 2941

原创 leetcode4:寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。思路:直接顺序遍历,保存当前遍历值与上一个遍历值,同时检查是否为中位数下标。C代码:double findMedianSortedArrays(int* nums1, ...

2020-01-07 17:44:02 118

原创 leetcode3:无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。这道题没写出来!!!!C代码用了这篇博文:https://blog.youkuaiyun.com/qq_37685741/article/details/...

2020-01-06 19:28:29 111

原创 leetcode2:两数相加

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。C语言代码:struct ListNode* addTwoNumbers(struct ListNode* l1, stru...

2020-01-02 14:16:24 122

原创 leetcode1:两数之和

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。C语言代码:int* twoSum(int* nums, int numsSize, int target, int* returnSize){ int i,j,temp,flag; int *a=(int*)malloc(sizeof(int)...

2020-01-01 23:34:46 281 1

转载 Keil 链接错误 Error: L6406E: No space in execution regions with .ANY selector matching

转自:http://www.cnblogs.com/ironx/p/5474935.html在开发过程当中遇到Keil build错误,检查发现时是链接时出错了。错误内容为:Error: L6406E: No space in execution regions with .ANY selector matchingError: L6407E: Sections of aggregate size...

2018-02-14 10:42:28 3474 3

原创 ucos-iii学习之内存对象

uC/OS-III 可以获得连续的内存块,内存块大小可以相同,所有的内存分区包含了整数个内存块。在特定的时间执行内存块的分配和释放。内存分区以内存块数组的形式被静态分配的。如果分配后不被释放,也可以调用 malloc()动态分配。 1.创建一个内存分区 调用 OSMemCreate()创建一个内存分区。 2.获得内存分区中的内存块 应用代码通过调用 OSMemGet()可以从内存分区中申请内

2017-10-01 18:02:47 508

原创 ucos-iii学习之消息传递

有些情况下任务或 ISR 与另一个任务间进行通信,这种信息交换叫做作业间的通信。可以有两种方法实现这种通信:全局变量、发送消息。 1.消息 消息中包含一个指向数据的指针、该数据的大小、时间戳变量。 消息的内容(即数据)通常保留在其作用域中因为发送的是数的地址而不是数据。 2.消息队列 消息队列是先入先出模式(FIFO)。然而,uC/OS-III 也可以将其设置为后入先出模式(LIFO)。

2017-10-01 17:47:40 774

原创 ucos-iii学习之同步

uC/OS-III 中用于同步的两种机制:信号量和事件标志组。 1.信号量 信号量可用于ISR与人物间,任务与任务间的同步。信号量API (1)单向同步 通过信号量实现同步叫做单向同步。 当任务要使用 I/O 端口,它就需获得信号量而调用 OSSemPend()。 当任务完成对 I/O 端口的访问完成后,就必须调用 OSSemPost()释放 这个信号量。 (2)信号量计数值 信号量

2017-10-01 16:39:36 760

原创 ucos-iii学习之资源管理

共享资源可以是:变量,结构体,内存空间,IO等。 推荐使用mutex保护共享资源。 大部分独占资源的方法是创建临界段:关中断,锁调度器,信号量,mutex。 1.关中断方式 独占共享资源的最快和最简单的方法是关中断。 关中断时间越短越好,不然会影响系统响应外部事件的及时性。 当临界段很短时可以使用关中断的方法。 只有这种方法才可以让任务和ISR共享资源。 2.锁调度器 如果任务不需

2017-10-01 15:53:59 1301

原创 ucos-iii学习之软件定时器管理

定时器递减其计数值,当计数值为0时,就是定时期满的时候。此时通过回调函数执行相应的操作。回调函数是用户定义的,当定时期满时可以被调用。 定时器的分辨率决定于时基频率。定时器API总结 1.定时器可以设置为3种模式:一次性定时模式,无初始周期模式,有初始周期模式。 (1)一次性定时模式 定时器会递减被设置初始的定时值,当该值为 0 时就会调用回调函数并停止定时器。 (2)无初始定时周期模式

2017-09-30 20:59:22 1298

原创 ucos-iii学习之时间管理

与时间服务相关的API总结 1.OSTimeDly() 任务调用这个函数后就会被挂起直到期满。这个函数可以有三种模式:相对延时模式,周期性延时模式,绝对定时模式。 (1)相对延时模式 任务每次执行时都会被延时大约2毫秒。当任务在时基中断将要到来时被挂起,那么实际的延时时基会少一个时基。 (2)周期性延时 任务设置匹配值决定了任务被唤醒的周期。当匹配值等于OSTickCtr时,任务被唤

2017-09-30 20:13:26 785

原创 ucos-iii学习之挂起队列

当任务等待信号量,mutex,事件标志组,消息队列时,该任务会被放入挂起队列。 挂起队列·类似于就绪队列,挂起队列中放的是等待内核对象的任务。任务在挂起队列中是根据优先级分类的。 挂起队列是一个OS_PEND_LIST 类型的数据结构,包含了三部分的内容。 .NbrEntries 挂起队列中有几个任务。 .TailPtr 指向队列的尾部(最低优先级的任务) .HeadPtr 指

2017-09-30 19:14:01 1064

原创 ucos-iii学习之中断管理

1.关于中断管理 中断响应时间定义为:接收到中断到开始处理 ISR 中代码的这段时间。通常,中断时用户代码的上文(CPU 寄存器)会被放入堆栈。 中断恢复时间定义为:执行完 ISR 中最后一句代码后到恢复到任务级代码的这段时间。 任务延迟时间定义为:中断发生到恢复到任务级代码的这段时间。 2.CPU的中断处理 在大多数情况下,中断控制器捕捉所有中断提交给处理器。 CPU处理中断有两种模式

2017-09-25 21:16:25 634

原创 ucos-iii学习之上下文切换

1.上下文切换的定义? 当 uC/OS-III 转向执行另一个任务的时候,它保存了当前任务的CPU 寄存器到堆栈。并从新任务的的堆栈中 CPU 寄存器载入 CPU。这个过程叫上下文切换。 共有两种上下文切换方式:一个是任务级,一个是优先级。 任务级:OSCtxSw()。 中断级:OSIntCtxSw()。 2.总结 上下文切换包括两部分内容,保存就任务的内容,载入新任务的内容。 任务级

2017-09-25 20:20:58 837

原创 ucos-iii学习之循环轮转调度及调度的内部实现

1.循环轮转调度 当多个任务有相同优先级时,uC/OS-III 允许每个任务运行规定的时间片。当任务没有用完分配给它的时间片时,它可以自愿地放弃CPU。 uC/OS-III 允许用户为每个任务设置不同的时间片。当任务被创建时,其时间片长度被设置。也可以在运行时调用 OSTaskTimeQuantaSet()修改。 2.调度的内部实现

2017-09-25 19:13:52 1341

原创 ucos-iii学习之抢占式调度以及调度点

1.抢占式调度 uC/OS-III 通过两种方法处理中断提交的事件:直接提交或延迟提交。 这两种方法产生的结果是一样的:最高优先级就绪任务会占用CPU。 (1)直接提交 低优先中断在执行时遇到高优先级中断,直接暂停执行高优先级。 (2)延迟提交 低优先中断在执行时遇到高优先级中断,先执行完低优先级再执行高优先级。 2.调度点 (1)任务被标记或发送消息给另一个任务时会发生调度 任务

2017-09-24 17:56:22 2283

原创 ucos-iii学习之就绪列表以及添加任务到就绪队列

1.就绪列表 准备好运行的任务就被放到就绪列表中。 就绪列表是一个数组(OSRdyList[]),共有OS_CFG_PRIO_MAX条记录,记录的数据类型为OS_RDY_LIST,其中包含三个变量:.Entries 、.TailPtr 、.HeadPtr。 .Entries 中该优先级的就绪任务数。当该优先级中没有任务就绪时,.Entries 就会被设置为 0。 .TailPtr 和.He

2017-09-24 17:30:27 1329

原创 ucos-iii学习之优先级

uC/OS-III 支持多达 OS_CFG_PRIO_MAX 种不同的优先级。 当任务准备好运行了,根据任务的优先级,位映像表中相应位就会被设置为 1。 OS_PRIO.C 中包含了位映像表的设置、清除、查找的相关代码。 优先级相关函数: OS_PrioGetHighest()函数扫描 OSPrioTbl[]表直到找到非 0的记录。这个循环最终会停止,因为总是有非 0 记录(空闲任务的存

2017-09-24 17:13:55 1291

原创 ucos-iii学习之系统内部任务

在 uC/OS-III 初始化的时候,它会创建至少2个内部的任务(OS_IdleTask()和 OS_TickTask()),3 个可选择的任务(OS_StatTask(), OS_TmrTaks(),OS_IntQTask())。 1.空闲任务OS_IdleTask() OS_IdleTask()是 uC/OS-III 最先创建的任务。它的优先级通常是OS_CFG_PRIO_MAX-1。为了安

2017-09-12 21:22:12 548

空空如也

空空如也

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

TA关注的人

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