自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 swiftUI实现tableView的三种方式

前言:swiftUI作为苹果2019年新推出的一款UI框架,势必是未来苹果主推的一种UI搭建方式,并且其确实可以用更少的代码实现APP界面的构建,声明式的UI实现方式使得视图层级显而易见。UItableview是UIKit中常见的一种视图,在传统的使用方式中,我们需要配置代理,配置cell等繁琐的流程,但是现在我们有了swiftUI,简单几行代码就能实现tableview,下面我来介绍一下swiftUI实现tableview的三种方式:1、固定行数方式,2、绑定数组的可变行数方式固定行数方式impor

2021-04-05 11:33:04 2790 1

原创 面试题:01矩阵变换每行每列都为偶数个1

题目描述给定一个m×n的矩阵,其中m、n都为奇数,且矩阵元素非0即1,现可以对某行或者某列进行取反操作:即将改行或者该列中元素1变为0,0变为1.求最少的操作次数使得该矩阵中每行和每列都有偶数个1。解题思路先遍历矩阵得到不符合行数和列数,不符合行数记为m1,符合行数记为m2。列数记为n1,符合列数记为n2。m1+m2=m,n1+n2=n;现在开始分情况讨论:当m1为偶数且n1也为偶数;...

2019-09-12 11:29:08 1364

转载 iOS开发学习路线

前言这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程.个人学习方法分享浅谈iOS进阶路线[如何优雅的使用Mac进行开发]稍后更新本文阅读建议1.一定要辩证的看待本文.2.本文主要是本人对iOS开发经验中总结的知识点3.本文所有观点仅代表本人...

2019-09-11 16:07:14 291

转载 计算机网络协议——通信协议综述

概述本文也是根据专栏里的板块,对通信网络协议做一个综述,共分为四节去进行介绍;为什么学习网络协议?网络协议分层的真正含义;ifconfig命令行的背后;DHCP和PXE:ip的由来;一、为什么学习网络协议协议的三要素是:语法、语义、顺序连通互联网世界,只教给一台电脑做什么是不够的,需要教会一大片机器做什么,这就是网络协议。只有通过网络协议,才能够使得一大片机器互相协作、共同完...

2019-09-09 21:09:20 321

转载 普通索引和聚集索引以及B+树的关系

数据库索引详解##索引当我们在设计数据库的时候,对表的一些属性有时会加上索引,但索引为什么能提高检索速率呢?是不是用了索引就一定可以提高效率呢?不同索引之间有什么区别呢?搞懂这些问题是灵活运用索引的必备条件。接下来,我们将一 一进行讨论。一.索引的本质索引也分为不同的种类,而且也有不同的分类方法,比较常用的是普通索引和聚集索引。普通索引其实对某字段建立了索引就相当于是对该字段新建立了一...

2019-08-28 23:31:39 1543 1

转载 C结构体的内存对齐原则

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-28 00:07:43 104

转载 长连接、心跳和断线重连

一、概述        目前IM软件有一个基本的功能就是长在线,即只要有网络就保持登录,然而,网络状态是无法预测的,所以IM软件经常会有”离线“状态,尤其是手机客户端。长在线这个功能依赖断线重连完成。        通常,网络不稳定是造成不能长时间在线的主要原因,还有比如:服务器强制注销客户端、次客户端被主...

2019-08-18 22:08:49 609

原创 【校招面试】贝壳找房北京提前批现场面

我面的ios开发,虽然简历上全是和C/C++相关的。中午一点半到了贝壳找房,周围环境很不错,绿化也挺好的,挺喜欢这家公司的。到了以后发现好多人在面试等待区候着,然后HR会收简历,把简历上标着你要面试的岗位,提前送给面试官,本来约的两点面试,但面IOS的人好像比较少,然后我一点半刚到就被安排上了一面。整体三面感觉面试官都很好,体验不错。一面被hr领到对应号牌的面试官那里,然后简单的自我介绍。...

2019-08-18 22:01:54 394

原创 腾讯2020校招笔试:压缩字符

题目描述形如:AB[2|OP]R[2|Y[3|S]]的压缩字符可解压为:ABOPOPRYSSSYSSS思路递归解压缩C++代码string unzip(string s){ string res; int i = 0; int n = s.size(); while (i < n) { while (i < n&&s[i] != '[') ...

2019-08-17 22:17:31 834

原创 【360校招笔试】第一题:计算表面积

题目描述给定一个M*N的矩阵,该矩阵每个值的含义代表该位置方格的高度h>=1,计算该矩阵的表面积。思路1、因为h>=1,所以每个位置上表面积和下表面积都是一样的,且为2;2、然后可以根据该方格前后左右的格子高度规律求前侧后侧左侧右侧的面积;C++代码include"iostream"#include<map>#include <vector>#...

2019-08-16 23:22:14 340

原创 【校招面试】暑假快手提前批北京现场面(平台研发)

和HR约的是周四上午十点半,稳妥起见,我九点五十左右就到了西二旗,到了快手以后,发现快手总部还真的是挺大的,绿化也挺不错的。然后我就到W座前台扫码签到(前台小姐姐挺漂亮的,哈哈),扫完码以后HR小姐姐立马就给我打电话了,安排我到会议室里面去等,还给我倒了水(服务很周到,比腾讯视频强多了)。面试官十点半准时到会议室,然后就开始了面试。一面:1、首先是自我介绍,这里我介绍了一半被面试官打断了,因...

2019-08-15 23:22:45 181

原创 寻找树重复的子结构

题目描述给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。两棵树重复是指它们具有相同的结构以及相同的结点值。题目来源:LeetCodeC++代码class Solution {public: map<string,vector<TreeNode*>> copysize; vector<TreeN...

2019-08-11 13:39:02 264

原创 数组中的逆序对(归并法)

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%100的数据,size...

2019-08-11 10:09:06 109

原创 (360校招笔试题)病毒:判断由0或1组成数字的数量

题目描述小B最近对破解和程序攻击产生了兴趣,她迷上了病毒,然后可怕的事情就发生了。不知道什么原因,可能是小B的技术水平还不够高,小B编写的病毒程序在攻击一个服务器时出现了问题。尽管成功的侵入了服务器,但并没有按照期望的方式发挥作用。小B的目的很简单:控制服务器的内存区域,试图在内存中装入从1到n之间的n个自然数,以覆盖内存区域。可能是小B对编程理解上的问题,病毒似乎没有完全成功。可能是由于保护...

2019-08-10 14:32:22 195

原创 二进制中1的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解题思路这个题要具备基本的位运算相关知识:C++代码class Solution {public: int NumberOf1(int n) { //负数表示成补码:符号位不变,其余位取反再加1; int count=0; if(n<0) ...

2019-08-07 23:34:28 100

原创 leetcode946验证栈序列

题目描述给定 pushed 和 popped 两个序列,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3), push...

2019-08-06 22:47:13 173

原创 360公司2017年秋招笔试题病毒

题目描述小B最近对破解和程序攻击产生了兴趣,她迷上了病毒,然后可怕的事情就发生了。不知道什么原因,可能是小B的技术水平还不够高,小B编写的病毒程序在攻击一个服务器时出现了问题。尽管成功的侵入了服务器,但并没有按照期望的方式发挥作用。小B的目的很简单:控制服务器的内存区域,试图在内存中装入从1到n之间的n个自然数,以覆盖内存区域。可能是小B对编程理解上的问题,病毒似乎没有完全成功。可能是由于保护...

2019-08-06 00:01:07 167

原创 重建二叉树(简单方法)

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。C++代码class Solution {public: TreeNode* reConstructBinaryTree(vector&lt...

2019-08-04 21:11:32 114

原创 猿辅导2019年校招笔试(8.3号)第一题括号编码问题

问题描述字母按照一定规律解码。类似如下情况:input:ss(yuanfudao)2(good)2output:ssyuanfudaoyuanfudaogoodgoodinput:(s(o)2)2output:soosooinput:(e(r(t(w)3)2)2)2good2output:ertwwwtwwwrtwwwtwwwertwwwtwwwrtwwwtwwwgoodd...

2019-08-04 11:11:10 568

原创 2019校招猿辅导笔试(8.3号)小猿迷宫问题

题目描述在m*n的迷宫中,小猿只能前往比当前格子数值大的格子,且每次只能上下左右移动,小猿有K次破格前往小于等于自己格子值的机会。输入描述:第一行:m , n, k,接下来m行为m*n矩阵的值。初始时小猿在0,0位置3 3 19 8 76 5 43 2 1返回:2解题思路可采用深度优先C++代码void yuanfudao::question_2(){ cin &...

2019-08-03 22:36:34 955 1

原创 造成死锁的原因

1、产生死锁的四个必要条件:• 互斥条件:一个资源每次只能被一个进程使用。• 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。• 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。• 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。一、死锁检测和恢复(deadlock detection and recovery):死锁检测(deadlock...

2019-08-03 16:01:21 535

原创 构造函数和析构函数是否应该为虚函数

构造函数构造函数不能是虚函数。因为创建派生类的对象时,将调用派生类的构造函数,而不是基类的构造函数,然后,派生类的构造函数将使用基类的一个构造函数,这种顺序不同于继承机制。因此,派生类不继承基类的构造函数,所以将类构造函数声明为虚的没什么意义。析构函数析构函数应该是虚函数,除非类不用做基类。例如当E为基类,S是派生类,并添加一个char*成员,该成员指向由new分配的内存。当S对象过期的时候...

2019-07-28 22:41:27 196

翻译 虚成员函数与动态联编(摘自C++ Primerpuls)

虚成员函数与动态联编首先请看下面的代码:BrassPlus ophelia;Brass *bp;bp=&ophelia;bp->viewAcct();上述代码中,Brass类为基类,Brassplus为子类。 如果基类中没有将ViewAcct()声明为虚的,则bp->ViewAcct()将根据指针类型来调用父类中的同名函数,指针类型在编译的时候已经知道了,所以在编...

2019-07-28 22:09:35 179

原创 LeetCode48旋转图像(短小精悍)

题目描述给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]C++代码class...

2019-07-28 16:38:33 78

原创 LeetCode反转链表II

题目描述反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULLC++代码//把链表分为三部分,中间一部分当做反转链表I的方法class Solution ...

2019-07-28 13:59:55 90

原创 leetcode反转链表(超简单方法)

题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路:三个指针边移边换指C++代码class Solution {public: ListNode* reverseList(ListNode* head) { ListNode...

2019-07-28 13:55:16 124

原创 LeetCode1008先序遍历构造二叉树

1、题目描述返回与给定先序遍历 preorder 相匹配的二叉搜索树(binary search tree)的根结点。(回想一下,二叉搜索树是二叉树的一种,其每个节点都满足以下规则,对于 node.left 的任何后代,值总 < node.val,而 node.right 的任何后代,值总 > node.val。此外,先序遍历首先显示节点的值,然后遍历 node.left,接着遍历...

2019-07-27 15:40:40 123

原创 leetcode95不同的二叉搜索树II

leetcode95不同的二叉搜索树II1、题目描述2、解题思路3、代码1、题目描述给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。2、解题思路网上的解题方法有很多种,这里采用一种比较简单易懂的方法:DFS深度搜索我下面使用的是c++代码。注意:这里题目给出的结果返回值是vector<TreeNode*>,不要被题目中的输出结果所迷惑,以为是要输出一个二...

2019-07-27 14:35:45 158

空空如也

空空如也

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

TA关注的人

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