刷题纪录
文章平均质量分 52
CAFE~BABE
认真的完成每一件事情
展开
-
含泪写完!我终于学会了循环队列
Leetcode栈刷题——设计循环队列[622. 设计循环队列 - 力扣(LeetCode) (leetcode-cn.com)]判断是否为空判断是不是空就十分简单了,直接判断first和tail是否是相同的就可以bool myCircularQueueIsEmpty(MyCircularQueue* obj) { return obj->first == obj->rear;}判断是否是满的判断是不是满的就有一点复杂了,因为这里我们要判断的是tail的下一个是不是fir原创 2021-10-09 16:24:49 · 153 阅读 · 0 评论 -
实现一个栈,要求实现Push(入栈)、Pop(出栈)、Min(取栈中最小值)、Max(取栈中最大值)的时间复杂度为O(1)。
文章目录栈刷题——求栈中的最小值和最大值,时间复杂度为O(1)题目描述:解题思路:代码解决:栈的结构设计初始化栈压栈出栈得到最大值得到最小值全部代码效果展示:栈刷题——求栈中的最小值和最大值,时间复杂度为O(1)题目描述:实现一个栈,要求实现Push(入栈)、Pop(出栈)、Min(取栈中最小值)、Max(取栈中最大值)的时间复杂度为O(1)。解题思路:使用三个栈来解决。一个正常栈,一个最小值栈,一个最大值栈每个元素进栈的时候,除了第一个元素三个栈都进入的比较这个元素和最小栈的栈顶的元素和最原创 2021-10-08 15:11:01 · 980 阅读 · 0 评论 -
一起来学数据结构——双向循环链表
一起来学数据结构——双向循环链表双向带头循环链表是链表中的一个比较重要的链表了。因为它最为复杂的结构,也使得在某些方面显得更加的容易。和简单的单链表但是操作复杂产生了鲜明的对比。链表的结构每一个节点都有两个节点指针,一个指向前,一个指向后。带有一个指向空的哨兵节点。尾的next指向头,头的prev指向尾,构成一个循环typedef struct ListNode{ struct ListNode* prev; struct ListNode* next; LTDataType da原创 2021-10-05 21:11:55 · 230 阅读 · 0 评论 -
单链表刷题——160.相交链表
单链表刷题——160.相交链表(160.相交链表)[160. 相交链表 - 力扣(LeetCode) (leetcode-cn.com)]相交链表也是链表届的一种特别经典的一种题目了。较好的算法下面是我们应该想到的一种非暴力算法的一种算法。这种方法应该想到,也不太难。先分别计算两个链表的长度让长的先走两个链表的长度查个单位之后再进行判断struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode原创 2021-10-05 21:10:34 · 185 阅读 · 0 评论 -
单链表刷题——141.环形链表
单链表刷题——141.环形链表[环形链表](141. 环形链表 - 力扣(LeetCode) (leetcode-cn.com))环形链表 也是一个特别经典的问题了,在面试中总是会被问到,我们一定要知道这道题怎么去做。特别的暴力解法就不写了,下面咱们就来看一下更好的算法求解。题目:给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如原创 2021-10-05 21:09:38 · 168 阅读 · 0 评论 -
写一个函数求一个数的二进制补码中有多少个1(三种写法)
int count_one(int x){ int i = 0; int count = 0; for (i = 0; i < 32; i++) { if ((x>>i) & 1)//&是按位与,&&是逻辑与 count++; } return count;}int main(void){ int a = 0; scanf("%d", &a); int count = count_one(a); printf("原创 2021-02-26 09:44:39 · 279 阅读 · 1 评论 -
C语言之自动关机的小程序
很有意思的一个代码#include<stdio.h>#include<string.h>#include<stdlib.h>#include<limits.h>int main(void){ char input[20]={0}; system("shutdown -s -t 120");again: printf("请输入:我是sb,否则你的电脑将在2分钟之内关机\n"); scanf("%s",input); if(strcmp(原创 2021-01-28 14:36:04 · 270 阅读 · 0 评论 -
(疑惑向)C语言之链表删除出现问题
链表的删除操作中,控制台无响应。自己的代码//????????????????????????????????????????????????为什么我十分不解,为什末显示无响应呢,我找不出来 void delete_list(struct cell* head,int i)//这个是struct cell* 好吗 { struct cell *p ,*q; p=head; q=head->next; /*if((q!=NULL)&&(q->x!=i)) {原创 2020-12-30 22:31:43 · 272 阅读 · 0 评论 -
C语言之降序数
C语言之降序数 一到考试就紧张,之前写过的题都过不去了,垃圾。这里做一下提醒。代码#include<stdio.h>#include<stdlib.h>int main(void){ int n; scanf("%d",&n); int b=n%10; int a=n; while((a/10)>0)//这里卡了半天。最开始直接写的是n,太傻了。 { a=a/10; if(a%10<=b) { printf("NO原创 2020-12-30 10:41:48 · 2080 阅读 · 0 评论