7-52 两个有序链表序列的交集
7-52 两个有序链表序列的交集
https://pintia.cn/problem-sets/15/problems/2999
这道题思路很简单,从一个链表(循环的内层)中多次搜索另一个链表(循环的外层)里面的数字。不过经过了简单的优化:因为链表有序,因此每次找到后记录内层被查找链表的位置,这样可以不用每次都从头开始搜索。
优化前大规模数据大概是400ms,优化后300+ms。
但是一直找不到大规模数据这组样例哪里错了……以后有时间了再找下。
7-52 两个有序链表序列的交集
https://pintia.cn/problem-sets/15/problems/2999
这道题思路很简单,从一个链表(循环的内层)中多次搜索另一个链表(循环的外层)里面的数字。不过经过了简单的优化:因为链表有序,因此每次找到后记录内层被查找链表的位置,这样可以不用每次都从头开始搜索。
优化前大规模数据大概是400ms,优化后300+ms。
但是一直找不到大规模数据这组样例哪里错了……以后有时间了再找下。
对于各种设计模式解决了软件扩充时的难题,方便复用、后期改动小。
单例模式特点是系统中该实例有且只有一个,并且其创建不被用户控制,用户需要使用时直接对唯一的实例进行唤醒。
例如:windows资源管理器、系统日志(日志只由一个程序读写,避免造成丢失等问题)。
根据上面的描述,从“创建不被用户控制”可知:实例的构造函数、事例对象需要是private的。那么如何在不能声明一个对象的情况下完成对对象的创建呢?这就需要该实例对象是static的,使用static不用手动管理资源分配、释放,还可以使得饿汉方式中实例对象永远存在(类似资源管理器,从开机到关机一直在后台运行);“用户需要使用时直接对唯一的实例进行唤醒”意味着需要实现一个专门用于返回实例的public方法,并且由于单例类不能被用户创建,这个方法只能是static的(否则没有对象可以调用这个方法)。
在singleTon类中有如下成员:
有次面试被问到static的作用,记录一下
在函数体内,一个被声明为静态的变量,在该函数被调用的过程中其值不变;
在模块内(但在函数体外),一个被声明为静态的变量,可以被该模块内的任何函数调用,但不能被模块外的函数调用,是一个本地的全局变量;
在模块内,一个被声明为静态的函数,只可以被该模块内的其他函数调用,也就是说被限制在本地范围内使用
之前在Linux上使用过Git,生成了绑定GitHub的公私钥、也把两个密钥文件保存在了本地。现在也想要Windows下的Git绑定GitHub,但是不知道如何用同一对公私钥绑定GitHub。
如果不解决,拉取仓库就会有Please make sure you have the correct access rights
and the repository exists.
的问题
1 | ubuntu@instance:~$ git clone [email protected]:V2RaySSR/Trojan.git |
首先去网上一搜,我看到的几乎所有答案都是只讲如何生成一对新的公私钥,用它绑定GitHub:
(BTW,网上关于GitHub密钥绑定的绝大部分文章都是这样新建密钥,同样的内容重复太多,降低了信息密度,查找起有效解决办法来很难)
难道已经有了密钥就不配用GitHub吗?Windows和Linux的Git各自使用一个ssh密钥和github绑定,非常麻烦,而且每次更换电脑,还要再次生成密钥、添加到github。
最近在学Linux,昨天顺便第二次白嫖了谷歌云服务器。但是和第一次一样,遇到了不能用ssh登录的问题,只能使用密码登录。虽然不影响使用,但是强迫症患者很想弄清楚到底是怎么回事。
为了解决这个问题,查了蛮多材料,整理下可能的一些情况:
iOS面试之C/C++部分
https://edu.51cto.com/course/2306.html
虽说这门课是针对iOS面试,但知识点都是C/C++上的。里面有些内容讲的挺好,尤其是前几节对指针的讲解、最后一节关于函数参数以及二级指针的内容。个人认为这两块比较深入透彻,非常值得一看,其他地方相对比较一般,是比较基础、简单的内容。
前言:
为了找工作,再次刷一下PTA上的数据结构习题,顺便在博客里简单记录一下题目里面的一些坑。
经典的二分查找,做这道题的时间都用在了二分查找的几个细节上。
1 |
|