C语言 | Leetcode C语言题解之第355题设计推特

题目:

题解:

typedef struct {int tweetId;int userId;
} Tweet;typedef struct {int* dict[501];Tweet* tweetList;int tweetListLen;
} Twitter;Twitter* twitterCreate() {Twitter* obj = malloc(sizeof(Twitter));for (int i = 0; i < 501; i++) {obj->dict[i] = calloc(501, sizeof(int));obj->dict[i][i] = 1;}obj->tweetList = malloc(30000 * sizeof(Tweet));obj->tweetListLen = 0;return obj;
}void twitterPostTweet(Twitter* obj, int userId, int tweetId) {obj->tweetList[obj->tweetListLen].tweetId = tweetId;obj->tweetList[obj->tweetListLen].userId = userId;obj->tweetListLen++;return;
}int* twitterGetNewsFeed(Twitter* obj, int userId, int* retSize) {int* res = malloc(10 * sizeof(int));*retSize = 0;for (int i = obj->tweetListLen - 1; i >= 0; i--) {if (obj->dict[userId][obj->tweetList[i].userId] == 1) {res[*retSize] = obj->tweetList[i].tweetId;(*retSize)++;}if (*retSize == 10) {break;}}return res;
}void twitterFollow(Twitter* obj, int followerId, int followeeId) {obj->dict[followerId][followeeId] = 1;return;
}void twitterUnfollow(Twitter* obj, int followerId, int followeeId) {obj->dict[followerId][followeeId] = 0;return;
}void twitterFree(Twitter* obj) {for (int i = 0; i < 501; i++) {free(obj->dict[i]);}free(obj->tweetList);free(obj);return;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/409014.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在vscode上便捷运行php文件

目录 前言 1. 准备工作 2. 创建文件 3. 下载插件 4.设置访问配置文件 5. 配置默认浏览器 6. 进行验证 前言 对于学习安全的我们来说,部署环境,靶场,和配置环境都是习以为常的一件事情,平时访问靶场都是通过小皮来,今天突想着最近需要对一些漏洞的原理进行研究,所以需要能够…

iOS 17.6.1版本重发,修复高级数据保护错误

今日&#xff0c;苹果没有带来iOS 17.6.2的更新&#xff0c;而是重新发布了iOS 17.6.1版本&#xff0c;本次升级版本号为21G101&#xff0c;高于第一版的21G93。距离初版发布相隔一周半时间。 在 iOS / iPadOS 17.6.1 的更新日志&#xff0c;苹果公司写道&#xff1a;“此更新包…

【生日视频制作】一排美女在越野车上跳舞拉横幅条幅AE模板修改文字软件生成器教程特效素材【AE模板】

一排美女在越野车上跳舞拉条横幅生日视频制作教程AE模板改字 怎么如何做的【生日视频制作】一排美女在越野车上跳舞拉横幅条幅AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&#xff1a; 安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频…

怎样更改电脑的MAC地址?

怎样更改电脑的MAC地址&#xff1f; 电脑的机器码是可以修改的。 操作步骤&#xff1a; 1、通过按WINR键&#xff0c;调来电脑的接运行窗口&#xff0c;打开CMD命令来查看机器码。 2、命令提示符窗口里输入ipconfig /all&#xff0c;回车&#xff0c;即可显示出当前电脑的网…

Linux内核定时器、阻塞_非阻塞IO

一.内核时间管理 Linux 内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、对于我们驱动编写者来说最常用的定时器。硬件定时器提供时钟源,时钟源的频率可以设置, 设置好以后就周期性的产生定时中断,系统使用定时中断来计时。中断周期性产生的频率就是系统频率…

Bootstrap 滚动监听(Scrollspy)插件

滚动监听&#xff08;Scrollspy&#xff09;插件&#xff0c;即自动更新导航插件&#xff0c;会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动&#xff0c;基于滚动条的位置向导航栏添加 .active class。 如果您想要单独引用该插件的功能&#xff0c;那…

【前端】文件上传框架plupload使用(前后端交互)

这个框架是用来给前端设置文件上传的按钮的。 首先要明白&#xff0c;前端向后端发送请求的方式有get和post&#xff0c;两者的区别在于&#xff0c;前者只能在网址中携带参数&#xff0c;后者是在请求体body中携带参数。 Plupload向后端发送请求是post请求方式&#xff0c;发送…

【Python】从基础到进阶(六):深入理解Python中的面向对象编程(OOP)

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、引言二、面向对象编程概述1. 什么是面向对象编程&#xff1f;面向对象的三大基本特性 2. 类和对象3. 类的属性与方法 三、继承与多态1. 继承2. 多态 四、封装与数据隐藏1. 封装2. 数据隐藏 五、案例&#xff1a;员工管理…

华为自研仓颉编程语言测试版上线,计划持续到10月21号

现如今&#xff0c;编程语言作为构建软件世界的基石&#xff0c;其重要性不言而喻。 而华为&#xff0c;作为全球领先的信息与通信技术&#xff08;ICT&#xff09;解决方案提供商&#xff0c;其在技术创新上的每一步都备受瞩目。最近&#xff0c;华为再次成为焦点&#xff0c…

USB3.0硬件简单概述

关于USB2.0&#xff0c;小白在之前的文章简单的描述过。关于USB3.0&#xff0c;今天小白也简单的介绍下。 相比较于USB2.0&#xff0c;USB3.0有了很大的变化。信号端USB3.0除了包含USB2.0的四根信号&#xff0c;还新增了2对差分信号SSRXN SSRXP SSTXN SSTXP以及GND_DRAIN(信号…

Flask返回Json格式字符,中文导致unicode乱码问题

一.问题描述 或者直接返回json格式的字符串 从上图可以看出&#xff0c;当flask实现的接口响应中存在中文时&#xff0c;接口返回json字串的中文为unicode乱码。 二.问题解决 百度搜索了很多&#xff0c;原来在创建flask app时使用json格式的字符串&#xff0c;默认是ascii编…

金融科技 API 接口:提升金融服务效率的关键

金融科技是应用技术手段和创新理念来提升金融服务效率的重要途径。而其中的API接口则是实现金融科技的关键。API接口的简单定义是提供计算机程序之间通信的规范和工具&#xff0c;提供一种方法和数据的交互形式&#xff0c;以便开发人员能够利用现有的软件来创建新的应用和服务…

【区块链 + 航运物流】运力链 | FISCO BCOS应用案例

根据速达物联的战略规划&#xff0c;2023年物流平台将由单一调度平台升级为物流生态平台。基于此&#xff0c;虎彩集团采用 FISCO BCOS区块链技术构建的运力链&#xff0c;可以帮助客户实现资源广泛快速连接、合作伙伴间的高效协同和低摩擦交 易&#xff0c;最终达成可信同城货…

五、Centos7-安装Jenkins

目录 一、基础环境准备 1.安装JDK 2.安装Tomcat 二、安装Jenkins 1.配置Jenkins插件镜像源 2.问题&#xff1a;进入manager jenkins页面报错 3.配置Git 4.配置jdk 三、重新安装Jenkins 四、另一种Centos安装jenkins的方式--最终可用版 克隆了一个base的虚拟机&#x…

Upload-Lab第19关:用图片马和条件竞争技巧,轻松应对上传限制!

简介 在upload-labs的第19关中,攻击是通过上传图片马来实现的。与第18关相比,这一关增加了对文件后缀名的检测,禁止直接上传 PHP 文件。因此,你需要上传一个图片马,并使用文件包含漏洞来访问它。具体步骤与第18关类似。 这里有一个细节,由于可能是这个靶场的作者的某种原…

老师如何制作分班查询系统?

随着新学期的钟声敲响&#xff0c;老师们又迎来了一年中最忙碌的时期。不仅要处理日常的教学准备工作&#xff0c;还要面对一项重要而繁琐的任务——新生分班。分班完成后&#xff0c;老师们还需要将分班结果及时准确地通知给每一位家长&#xff0c;确保信息的传递无误。这项工…

p8 Run的流程和Docker原理

docker run的运行原理图 docker是怎么工作的&#xff1f; docker是一个cs的一个结构的系统docker的守护进程运行在宿主机上面通过socket进行访问 其实就是看下面的这个图&#xff0c;通过客户端的命令来操作docker的守护进程然后启动一些容器&#xff0c;默认容器是不启动的 …

语言基础/单向链表的构建和使用(含Linux中SLIST的解析和使用)

文章目录 概述简单的链表描述链表的术语简单实现一个单链表 Linux之SLIST机理分析结构定义单链表初始化单链表插入元素单链表遍历元素单链表删除元素 Linux之SLIST使用实践纯C中typedef重命名带来的问题预留 概述 本文讲述了数据结构中单链表的基本概念&#xff0c;头指针、头…

Go语言操作文件上传和下载应用教程

Go语言操作文件上传和下载应用教程 我们在使用Go的日常开发中&#xff0c;经常会遇到对文件的处理&#xff0c;例如&#xff1a;上传、下载、读写等&#xff08;详情见Go 文件操作基本方法大全&#xff09;&#xff0c;且我们在实际应用中&#xff0c;基本都是使用框架自带的文…

电商项目DevOps一体化运维实战

主要讲了git和jkins的使用&#xff0c;其中maven的一个插件还挺好用的&#xff0c;主要可以用来查看哪些类没有使用&#xff0c;哪些导入的包是多余的等。这里展示一下用法。至于git和jkins的搭建后续再操作。 maven插件的使用&#xff1a; 编译后就可以在target下面看到这个h…