自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 Jetpack 使用

jectpack使用vm,databinding以及livedata

2022-08-26 11:23:10 186 1

原创 git 使用

用于git使用作为笔记

2022-08-19 09:23:19 308

原创 Leetcode100题

每日一题

2022-07-20 10:31:46 175

原创 Java 泛型编程

Java 泛型编程一 . 定义泛型类package com.example.java;public class Person<T> { T name; public T getName() { return name; } public void setName(T name) { this.name = name; }}public class Person<T, W> { T n

2022-05-27 20:13:55 1138

原创 KMP算法

leecode题号28.题目如下:实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。输入:haystack = “hello”, needle = “ll”输出:2输入:haystack = “aaaaa”, needle = “bba”输出:-1输入:haystack = “”, needle = “”输出:0一 . 什么是KM

2022-03-31 16:14:28 75

原创 堆排序--简化理解

1.什么是堆排序?堆排序满足两个特点1 必须是完全二叉树。2 父节点要同时大于或者小于左右孩子结点。根为最大的叫大顶堆,最小的叫小顶堆。升序一般使用大顶堆,降序使用小顶堆。2.堆排序详解我们以以下数组为例:int d[N]={4,6,8,5,9};因为我们要做升序排序,所以我们使用大顶堆。(1)将数组先堆化当前二叉树我们使用数组存储。所谓的堆化就是使当前二叉树变为大顶堆。大顶堆的定义就是父节点都比子节点要大。结点的左右孩子不用区分大小。我们先看堆化的过程。a.先找出非叶子结点,然

2022-03-30 14:45:47 3792

原创 二叉树基本操作

1 二叉树的遍历(1)二叉树的前序遍历递归实现: public List<Integer> preorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<>(); preOrder(root, res); return res; } public void preOrder(TreeNode root, List&lt

2022-03-23 15:42:09 1041

原创 DP-动态规划

动态规划1 动态规划(DP)是什么?动态规划是一种解决问题的思想。动态规划最关键的问题在于找到子问题模型。(1) DP的自顶向下思想。比如递归,递归会不停的调用同一段代码,自顶而下,类似于树结构,当然,结果还是依赖出口,再层层由下层返回到上层。但是我们说,这种解决问题的思想就是DP的自顶向下思想。(2) DP的自下而上思想。比如迭代,for循环。这个子问题的结果作为下一个子问题的初始条件,直到计算出最终结果。这种由小到大的就是DP的自下而上思想。(3) DP的状态转移方程。找到子问题,再将

2022-03-17 14:06:39 494

原创 iOS 自动释放池原理

1. OC示例- (void)viewDidLoad{ [super viewDidLoad]; NSMutableArray * array=[NSMutableArray array]; NSLog(@"%@",array);}编译器的会将@autoreleasePool改写成void * ctx=objc_autoreleasePoolPush();{}中的代码objc_autorelaesePoolPop(ctx);一次objc_autoreleasePoolPush操作相当

2022-03-09 17:35:42 994

原创 算法题集锦

1.判断一个单向链表是否存在环,并且找到环入口。https://www.jianshu.com/p/ef71e04241e42.删除链表的倒数第n个位置。#import "SinglyLinkedList.h"/** 给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 输入:head = [1,2], n = 1 输出:[1] */// 2LinkList removeNthFromE

2022-03-03 15:04:55 286

原创 LRU算法

1.什么是LRU算法?LRU(最近最少使用),是一种缓存淘汰机制。如下图:2.LRU的数据结构是啥样的?Hash表+双向链表.1)为啥使用Hash表和双向链表?查找:由上图可知,通过key使用Hash表查找对应节点,只需要O(1)的时间复杂度。删除和移动:如果是单向链表,删除和移动结点是需要访问前驱元素的,而访问前驱元素就要遍历,所以单向链表的删除和移动是需要的时间复杂度是o(n),但是如果使用双向链表,通过pre就可以访问前边的元素,操作都是指针移动,那么双向链表的删除和移动的时间复杂度也是

2022-03-03 14:15:05 343

原创 详解 Https

详解 Https什么是https?http为什么需要加密?什么是对称加密?为什么不能使用对称加密?什么是非对称加密?使用非对称加密可行吗?那HTTPS采用的是哪种加密方式呢?HTTPS是如何修复存在漏洞的?1 如何保证公有要是A在传递到客户端的时候不被中间人攻击?2 如何保证数字证书不被篡改?3 如何能够确保数字证书不会被整个替换?4 数字签名的生成过程5 为什么制作数字签名的时候需要hash一下?6 怎么证明CA机构的公钥是可信的?7 每次进行HTTPS请求时都必须在SSL/TLS层进行握手传输密钥吗?

2021-11-09 15:17:19 2201

OC断点下载demo.zip

应用后台下载,应用前台下载。实现了简单的需求,引导大家思路 ,谢谢。socket编程一般是基于tcp或者udp协议来写,所以通过这个可以知道,你分别封装S和C就可以完成,断开连接后,C继续工作

2019-12-23

空空如也

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

TA关注的人

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