数组
Descending Angel
德智体美劳全面不发展代表
深夜搞颜色积极分子
喝水只喝纯净水,牛奶只喝纯牛奶
每天都被自己帅气的醒来……
业余打代码爱好者
展开
-
Z型变换问题
目录题目思路代码 题目 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。 请你实现这个将字符串进行指定行数变换的函数: string convert(string s, int numRows); 示例: 输原创 2021-08-07 14:56:49 · 148 阅读 · 0 评论 -
无重复最长子串问题
目录题目描述:示例思路代码 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。 请注意,你的答案必须是 子串 的长度,“pwke原创 2021-08-06 20:51:02 · 125 阅读 · 0 评论 -
利用二叉树处理堆内存
和栈不同,栈是通过入栈出栈的方式处理数据,而堆的数据是可以随意拿随意取的,通常用二叉树来研究一段连续的内存。 二叉树和数组下标一一对应的方式来入堆,因为二叉树的序号从一开始,所以,数组的第一个元素是不存东西的。 大顶堆:前一个结点的数值比后面两个子节点的数值大 小顶堆:前一个结点的数值比后面两个子节点的数值小 研究方式:父节点的序号是子节点的一半 入堆操作: 不论什么元素,入堆都是直接插入在元素的最后面,入堆后再进行向上渗透的操作。 向上渗透:子节点除以2和父节点比较,不符号要求则交换顺序原创 2021-08-06 11:11:04 · 196 阅读 · 0 评论 -
模拟串的一些操作
#include<stdio.h> #include<malloc.h> #include<assert.h> #define MAX 100 typedef struct { char* Memory; int CurSize; }*LPSTR,string; LPSTR CreateStr() { LPSTR MyString = (LPSTR)malloc(sizeof(string)); assert(MyString); MyString->.原创 2021-08-05 23:09:30 · 116 阅读 · 0 评论 -
什么是循环队列
目录1.什么是队列2.什么是循环队列3.循环队列的代码块3.1入队3.2出队3.3判空3.4测试代码4.优点 1.什么是队列 类似于食堂排队打饭,一个一个往前排入队伍里,就是入队;而打完饭从头到尾一个一个出来,就是出队。 队列就是你排队的那个队伍。 2.什么是循环队列 比如某食堂的奇葩规定:每次打饭只能挑选一种菜。而想吃两种菜的你不得不排队两次,重新回到队伍里。 或比如前面排队打饭的人走了,后面要打饭的人跟上步伐,整个队伍的人数不变,不断有人出来,又不断有人进去,实现入队出队的循环。 3.循环队列的代码块原创 2021-08-05 13:45:06 · 811 阅读 · 0 评论 -
封装数组队列
目录预处理封装队列创建队列入队获取对头元素出队判断队列是否为空测试代码运行效果 预处理 #include<stdio.h> #include<stdlib.h> #include<assert.h> #define MAX 10 封装队列 typedef struct Queue { size_t* pMemory; short topSize; short tailSize; unsigned short curSize; }*LPQUEUE,QUEUE;原创 2021-08-04 22:49:45 · 107 阅读 · 0 评论