自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 收藏
  • 关注

原创 设计模式之工厂设计模式

一种创建型模式,用于封装和管理对象的创建。

2024-01-02 21:32:44 557

原创 NSUserDefaults

NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提可以保存的数据结构。NSString 字符串NSNumber 数字NSArray 数组NSDictionary 字典NSDate 日期NSData 二进制数据如果需要保存自定义对象,则需要将对象归档为NSData,再进行保存。详情见section 4.2。

2023-05-16 21:17:49 605

转载 UIKit——UIImageView控件

UIImageView常用属性

2022-10-14 20:59:12 201

原创 layer之mask——IOS

UIView——layer之mask

2022-10-13 22:58:11 743

原创 OC基础(一)

本文主要讲述OOP的基础知识。

2022-10-10 15:11:37 554

原创 UML——时序图

时序图是按时间顺序显示对象交互的图。

2022-09-30 15:05:02 6837

转载 页面渲染——前端扫盲

初涉前端,知识扫盲系列之页面渲染

2022-09-29 14:15:19 128

转载 OC——Runtime

详谈Runtime机制

2022-08-18 11:35:22 248

原创 OC学习——self.xxx和_xxx的区别

OC之属性和实例变量的区别

2022-08-17 20:46:18 402

原创 类扩展——一种特殊的类别

类扩展——一种特别的类别

2022-07-28 19:10:21 373

原创 OC基础——复合

OC基础之复合代码练习

2022-07-21 15:13:41 118

原创 ubuntu下cmake的更新——Binary Distribution版本

目录1. 卸载原始版本2. 下载新版本3. 解压4. 添加cmake环境变量5. 查看是否设置成功1. 卸载原始版本使用以下命令卸载低版本cmake。apt remove cmake2. 下载新版本在cmake官网下载所需版本。cmake官网一般包含Soruce Distribution和Binary Distribution两个版本类型。Source Distribution 是源代码版,需要编译成可执行软件。Binary Distribution是已经编译好的可执行版,直接可以拿来用的。

2022-04-18 09:56:09 450

原创 ns-3概述

ns-3概述学习教程开发环境核心概念1. 概述ns-3:一款由C++语言编写的开源项目,主要用于模拟计算机网络,它可以在一台计算机上模拟物理世界中各种类型和规模的网络结构(类似于一个程序库,提供你各种的网络模拟API,用户在模拟脚本中调用API构建自己的虚拟网路)。使用ns-3进行网络模拟步骤:① 下载源代码;② 编译源代码;③ 编写模拟脚本(构建虚拟网络的程序);④ 运行模拟脚本。2. 学习教程official websiteofficial Documents we

2021-11-24 11:03:44 1024

原创 ns3中的核心概念

目录ns3对网络组建的抽象节点:Node应用程序:Application信道:Channel网络设备:Net Device拓扑辅助类:Topology Helpers相关类总结NodeNodeContainerNodeListChannelNetDeviceNetDeviceContainerApplicationApplicationContainerns3对网络组建的抽象节点、应用程序、信道、网络设备节点:Nodens3将基本的计算设备抽象为Node(具体表现为C++的Node类)Node对

2021-11-24 10:58:04 646

原创 用户态 VS 内核态

1 用户态和内核态的区别下表主要从概念和cpu级别两方面阐述用户态和内核态的区别用户态内核态概念当进程在执行用户自己的代码时,则称其处于用户运行态(即用户态)但一个任务(进程)执行系统调用而陷入内核代码中执行时,我们称进程处于内核运行态(即内核态)cpu级别处理器处于特权级最低的(3级)用户代码中执行处理器处于特权级最高的(0级)内核代码中执行2 用户态与内核态的联系用户态转换为内核态主要分为主动和被动两种方式,其中主动方式包括系统调用,而被动方式包括异常和外

2021-11-12 17:48:36 605

原创 程序媛的秋招总结

本人是2022届的毕业生,本硕均为双非院校,无实习经历,参加过软件类个人赛并获省赛二等奖,主要进行C/C++开发。截止目前,获得了百度、腾讯CSIG、融360、海康威视、大华等公司的录用意向书。现主要从学习、秋招两方面总结自己的经验,希望对学弟学妹们有所帮助。学习对于我们技术岗,相较于其他岗位来说,学校双非的影响并没有那么大。你的能力将决定你走多远,因此,夯实基础,提高代码能力对于我们想要从事开发岗位的人来说更为重要夯实基础不要抱有一种侥幸心理。学习是一个积累的过程,刚开始可能对于某些知识点怎么

2021-10-31 22:05:46 4873 2

原创 面试中常被问到的问题(2)多线程和多进程的区别

多线程和多进程的区别多进程多线程本质多个进程拥有自己独立的虚拟地址

2021-09-15 10:27:11 146

原创 面试中常被问到的问题(1)get和post请求方法的区别

get和post请求方法的区别区别getpost功能从服务器获取数据将数据提交给服务器参数参数通过url传递参数放在request body长度url 长度有上限。不同的浏览器url的限制不同,如:chrome的url长度限制超过8182个没有长度限制的安全性不安全(因为参数暴露在url中)较get安全。如:密码登录发送次数请求一次,浏览器会将header和data一并发送出去请求两次,浏览器会将header先发送出去,告诉服务器有数据要来

2021-09-12 11:57:02 107

原创 《剑指 Offer II》—链表08

目录学习计划链接题目解析1. 剑指 Offer II 024. 反转链表1) 问题描述2) 思路分析3) leetcode链接4) 代码实现2. 剑指 Offer II 025. 链表中的两数相加1) 问题描述2) 思路分析3) leetcode链接4) 代码实现3. 剑指 Offer II 026. 重排链表1) 问题描述![在这里插入图片描述](https://img-blog.csdnimg.cn/94d20fefc744462cbaf577aaa4556928.png?x-oss-process=i

2021-08-19 11:56:21 99

原创 《剑指 Offer II》—整数01

目录学习计划链接题目解析1. 剑指 Offer II 001. 整数除法1) 问题描述2) 思路分析3) leetcode链接4) 代码实现2. 剑指 Offer II 002. 二进制加法1) 问题描述2) 思路分析3) leetcode链接4) 代码实现3. 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数1) 问题描述2) 思路分析3) leetcode链接4) 代码实现学习计划链接剑指offer——学习计划题目解析1. 剑指 Offer II 001. 整数除法1) 问

2021-08-18 19:11:00 127

原创 《剑指 Offer II》—数组04

目录学习计划链接题目解析1. 剑指 Offer II 001. 整数除法1) 问题描述2) 思路分析3) leetcode链接4) 代码实现2. ==剑指 Offer II 001. 整数除法==1) 问题描述2) 思路分析3) leetcode链接4) 代码实现3. ==剑指 Offer II 001. 整数除法==1) 问题描述2) 思路分析3) leetcode链接4) 代码实现学习计划链接剑指offer——学习计划题目解析1. 剑指 Offer II 001. 整数除法1) 问题描述截图

2021-08-18 17:56:52 117

原创 《剑指 Offer II》—链表07

目录学习计划链接题目解析1. 剑指 Offer II 021. 删除链表的倒数第 n 个结点1) 问题描述2) 思路分析3) leetcode链接4) 代码实现2. 剑指 Offer II 022. 链表中环的入口节点1) 问题描述2) 思路分析3) leetcode链接4) 代码实现3. 剑指 Offer II 023. 两个链表的第一个重合节点1) 问题描述2) 思路分析3) leetcode链接4) 代码实现学习计划链接剑指offer——学习计划题目解析1. 剑指 Offer II 021.

2021-08-18 11:04:17 103

原创 《剑指 Offer II》—数组03

目录学习计划链接题目解析1. 剑指 Offer II 007. 数组中和为 0 的三个数1) 问题描述2) 思路分析3) leetcode链接4) 代码实现2. 剑指 Offer II 008. 和大于等于 target 的最短子数组1) 问题描述2) 思路分析3) leetcode链接4) 代码实现3. 剑指 Offer II 009. 乘积小于 K 的子数组1) 问题描述2) 思路分析3) leetcode链接4) 代码实现学习计划链接剑指offer——学习计划题目解析1. 剑指 Offer I

2021-08-15 11:39:39 90

原创 《剑指 Offer II》—整数02

目录学习计划链接题目解析1. 剑指 Offer II 004. 只出现一次的数字1) 问题描述2) 思路分析3) leetcode链接4) 代码实现2. ==剑指 Offer II 001. 整数除法==1) 问题描述2) 思路分析3) leetcode链接4) 代码实现3. ==剑指 Offer II 001. 整数除法==1) 问题描述2) 思路分析3) leetcode链接4) 代码实现学习计划链接剑指offer——学习计划题目解析1. 剑指 Offer II 004. 只出现一次的数字1)

2021-08-14 10:20:08 150

原创 《剑指offer》——栈与队列01

目录学习计划链接题目解析1. 剑指 Offer 09——用两个栈实现队列1) 问题描述2) 思路分析3) leetcode链接4) 代码实现2. 剑指 Offer 30 —— 包含min函数的栈1) 问题描述2) 思路分析3) leetcode链接4) 代码实现学习计划链接剑指offer——学习计划题目解析1. 剑指 Offer 09——用两个栈实现队列1) 问题描述2) 思路分析通过两个栈,其中一个栈in用于入队操作,另一个out栈用于出队操作。当需要入队时,将out栈中的所有的元素导

2021-08-11 20:53:08 69

原创 stl中优先级队列priority_queue的使用

这里写目录标题1. 优先级队列2. 所在头文件3. 常用接口3. 使用示例1. 优先级队列优先队列是一种容器适配器。默认使用vector作为其底层存储数据的容器;在vector上又使用了堆算法将vector中元素构造成堆的结构,因此priority_queue就是堆,所有需要用到堆的位置,都可以考虑使用priority_queue。注意:默认情况下priority_queue是大堆2. 所在头文件#include<queue>3. 常用接口priority_queue(

2021-08-08 22:19:59 111

原创 C盘变红——清理方法

这里写自定义目录标题1. 删除缓存2. 磁盘清理3. 存储感知1. 删除缓存找到C:\Users\Default\AppData\Local\Temp(该文件夹是系统的缓存文件)这个文件夹;将这些缓存删除掉。2. 磁盘清理鼠标移到C盘,右键,选择【属性】-【常规】,然后点击【磁盘清理】;系统会开始扫描文件,扫描结束后,点击【清理系统文件】;3. 存储感知打开电脑设置后,点击【系统】-【存储】,开启【存储感知】功能;电脑就会定期自动删除一些不需要的文件,比如临时文件、回收站的

2021-08-07 11:03:23 24144 1

原创 TCP/IP四层模型

1. TCP/IP协议族分层简介:TCP/IP协议族是一组不同层次的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,自顶而上分为应用层、传输层、网络层和链路层,如图1所示。每一层的作用、对应协议及设备层功能对应协议应用层负责处理特定的应用程序细节HTTP、Telnet、 FTP和e-mail等传输层为两台主机上的应用程序提供端到端的通信,负责应用程序进程之间数据传输TCP、UDP网络层处理分组在网络中的活动,如:IP负责地址管理与路由选择I

2021-08-02 17:36:49 120

原创 C++操作数据库——mysql接口

1. mysql API编程步骤初始化操作句柄;通过句柄连接mysql服务器;设置客户端字符集(utf8);选择使用的数据库;执行语句:增、删、改:执行语句——对数据库进行操作。查询:执行语句——对数据库进行查询操作,并遍历访问查询到的结果集;关闭句柄,释放资源。2. mysql API介绍2.1相关数据结构MYSQL :mysql结构体,用来作为操作句柄。MYSQL_RES :结果集,类似于二维数组,行表示结果集条数,列为每一条数据的各个字段。MYS

2021-07-19 21:57:26 1012

原创 乒乓球框——牛客

1 问题描述nowcoder有两盒(A、B)乒乓球,有红双喜的、有亚力亚的……现在他需要判别A盒是否包含了B盒中所有的种类,并且每种球的数量不少于B盒中的数量,该怎么办呢?2 思路分析使用数据结构map,保存将A中字符及其个数;遍历B字符串,判断遍历的字符是否在A中,即对应字符数量是否等于0,若等于返回false;否则,对应字符数量–3.直到遍历到B字符串结尾处,返回true3 牛客链接:乒乓球框OJ4 代码实现#include<iostream>#include&

2021-06-17 11:24:05 401

原创 查找兄弟单词——牛客

1 问题描述定义一个单词的“兄弟单词”为:交换该单词字母顺序(注:可以交换任意次),而不添加、删除、修改原有的字母就能生成的单词。兄弟单词要求和原来的单词不同。例如:ab和ba是兄弟单词。ab和ab则不是兄弟单词。现在给定你n个单词,另外再给你一个单词str,让你寻找str的兄弟单词里,按字典序排列后的第k个单词是什么?**注意:**字典中可能有重复单词。本题含有多组输入数据。2 思路分析遍历数组word_vector,首先判断数组中的字符串和要找字符串的长度关系.若长度不等,继续判断下一个;

2021-06-17 11:21:29 165

原创 单词倒排——牛客

1 问题描述链接:来源:牛客网对字符串中的所有单词进行倒排。说明:1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;2 思路分析1. 根据空格,分割单词,并进行单个单词旋转,旋转结束后,进行整个句子旋转2. 对于非构成单词的字符,将其转换为空格3 牛客链接:单词倒排OJ4 代码实现#includ

2021-06-17 09:07:35 127

原创 年会抽奖—牛客

1 问题描述今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;待所有字条加入完毕,每人从箱中取一个字条;如果抽到的字条上写的就是自己的名字,那么“恭喜你,中奖了!”现在告诉你参加晚会的人数,请你计算有多少概率会出现无人获奖?2 思路分析n个人取到的都不是自己名字的概率 = n个人取到的不是自己名字的序列个数 / n个人可能抽取的所有可能出现的序列个数因此,分两步计算:1.n个人可能抽取的所有结果: Ann A_n^nAnn​2.n

2021-06-04 15:08:18 318 1

原创 抄送列表-牛客

1 问题描述NowCoder每天要处理许多邮件,但他并不是在收件人列表中,有时候只是被抄送。他认为这些抄送的邮件重要性比自己在收件人列表里的邮件低,因此他要过滤掉这些次要的邮件,优先处理重要的邮件。现在给你一串抄送列表,请你判断目标用户是否在抄送列表中。输入描述:输入有多组数据,每组数据有两行。第一行抄送列表,姓名之间用一个逗号隔开。如果姓名中包含空格或逗号,则姓名包含在双引号里。总长度不超过512个字符。第二行只包含一个姓名,是待查找的用户的名字(姓名要完全匹配)。长度不超过16个字符。输出

2021-06-04 11:09:05 308 1

转载 HTTP状态码

HTTP状态码文章目录HTTP状态码状态码分为5类,如下:常见的状态码:状态码分为5类,如下:1××(“继续努力”) => 表示接收到请求并且继续处理2××(“开心”) => 表示动作被成功接收、理解和接受3××(“又要跑一趟”) => 为了完成指定的动作,必须接受进一步处理4××(“自己的问题自己解决”) => 客户端发生错误,请求中包含错误语法,请求不能被正确执行5××(“服务不到位”) => 服务端出现错误,服务器不能正确地执行请求。常见的状态码:

2021-06-02 17:30:47 38

原创 ip地址、子网掩码及ip地址的相关计算

ip地址、子网掩码及ip地址的相关计算文章目录ip地址、子网掩码及ip地址的相关计算1. ip地址(iPv4)组成2. 子网掩码及其作用2. ip地址分类3. ip地址相关计算3.1 网络地址的计算3.2 广播地址的计算3.3 地址范围的计算3.4 主机数量3.4 主机数量1. ip地址(iPv4)组成IP地址=网络部分+主机部分=32位将IP地址和子网掩码全部换算为二进制,子网掩码连续全为1的是网络地址,后面的为主机地址。例:某主机的IP地址为:192,168.8.123,子网掩码为:255.

2021-05-31 19:39:42 18182 1

原创 MP3光标位置——牛客

问题描述MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下:歌曲总数<=4的时候,不需要翻页,只是挪动光标位置。光标在第一首歌曲上时,按Up键光标挪到最后一首歌曲;光标在最后一首歌曲时,按Down键光标挪到第一首歌曲。歌曲总数大于4的时候(以一共有10首歌为例):① 特殊翻页:屏幕显示的是第一页(即显示第1

2021-05-20 16:27:52 273

原创 洗牌——牛客

问题描述洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起来就可以了。 例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组,左手拿着1,2,3

2021-05-20 11:09:45 128

原创 二叉搜索树(二叉排序树、二叉查找树)

二叉搜索树特点操作1. 二叉搜索树二叉搜索树又称二叉排序树/二叉查找树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值。若它的右子树不为空,则右子树上所有节点的值都大于根节点的值。它的左右子树也分别为二叉搜索树2. 特点二叉搜索树的中序遍历有序。3 . 操作3.1 查找数据:判断要查找的数据是否等于当前节点的值(初始值:cur=_root)i. 若等于,返回当前节点;ii. 若小于,向左子树进行查找;(cur=c.

2021-05-10 16:25:49 300

原创 215. 数组中的第K个最大元素

leetcode——215. 数组中的第K个最大元素1. 问题描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素2. 思路分析:方法1:排序(从大到小的顺序排序),返回第k-1个下标的元素——但库中sort默认排序方式为正序(即从小到大),即返回下标为size-k的元素。(时间复杂度:快排—O(nlogn),空间复杂度:O(1)) //方法1:排序(从大到小的顺序排序),返回第k-1个下标的元素——但库中sort默认排序方

2021-04-19 21:46:05 211

空空如也

空空如也

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

TA关注的人

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