自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言程序设计进阶- 翁恺-指针与字符串

1. 传入函数的数组成了什么? 函数参数表中的数组实际上是指针, sizeof(a) == sizeof(int*), 可以用数组运算符[]来进行计算, 以下四种函数原型等价。int sum(int *arr, int n);int sum(int *, int);int sum(int arr[], int n);int sum(int [], int);#include <iostream>using namespace std;void...

2020-08-19 22:49:21 209

原创 ssh key 如何生成一对公钥和私钥

1.cmd或者git bash输入ssh-keygen,在默认的路径就生成。2.进入默认路径,.ssh/id_rsa就是生成一对钥匙了。3..pub打开复制,成功!ps:不忘初心,方得始终。...

2019-07-08 21:10:23 1576

原创 git操作遇到authentication failed如何解决?

1.win10上在git操作时,弹出一个窗口让我输入账号和密码,一时激动,输错了,但是后面再想修改的时候根本没有机会,后来就搜到了可以在自己电脑上修改凭据,这样就可以重新输入了。删掉修改时间为今天的凭据,就ok了,至于还有一些可以用命令的方法但是我尝试了显示permission denied!大家也可以尝试一下看看有没有效果!git config --system --unset cr...

2019-07-08 21:04:37 3834

原创 c++书籍推荐

1.C++ Coding Standards: 101 Rules, Guidelines, and Best Practices 1st Edition2.More Effective C++: 35 New Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing Series) 1st...

2019-02-23 21:09:34 1206

原创 小米笔试求并集

题目大意是:输入n组数,如果每组数有交集,那么求并集,如果没有交集,则不求,输出并集的总数和并集最大的元素个数。#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;set&gt;#include&lt;algorithm&gt;using namespace std;int main(){ int n; ...

2018-09-27 16:40:03 235

原创 矩阵对角线打印

58面试后台研发岗,我的内心非常拒绝,硬着头皮面,面面相觑。数据库MySQL的索引,什么叫事务。 .TCP/IP的三次握手的底层,http协议的请求和响应的格式。 hash的存储方式,hash解决冲突的办法,multimap的底层。手撕代码1:二叉树的遍历  2:对角线打印矩阵元素#include&lt;iostream&gt;#include&lt;vector&gt;#in...

2018-09-26 17:02:42 682

原创 经典同步问题(1)——生产消费者问题

一、生产者-消费者问题semaphore mutex=1;semaphore empty=n;semaphore full=0;producer(){ while(1) { produce an item in nextp; P(empty); P(mutex); add nextp in buffer;...

2018-09-20 10:31:07 1064

原创 科大讯飞2019届秋招研发卷

1.修改成绩华老师的n个学生参加了一次模拟测验,考出来的分数很糟糕,但是华老师可以将成绩修改为[0,100]中的任意值,所以他想知道,如果要使所有人的成绩的平均分不少于X分,至少要改动多少个人的分数?输入第一行一个数T,共T组数据(T≤10)接下来对于每组数据:第一行两个整数n和X。(1≤n≤1000, 0≤X≤100)第二行n个整数,第i个数Ai表示第i个学生的成绩。(0...

2018-09-10 10:25:00 696 1

原创 NVIDIA2018笔试编程

1.日志分析#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;string&gt;using namespace std;int main(){ int N; while(cin&gt;&gt;N) { vector&lt;string&gt;vec; cin.c...

2018-09-05 16:06:15 360

原创 好未来2018笔试研发卷

1.拆分字符串#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int count(string str){int size = 0;int count = 0;for (int i = 0; i &lt; str.size(); i++){if (int(str[i]) % 3 == 0 |...

2018-08-30 11:13:39 799

原创 279. Perfect Squares

刷题的时候遇到这道题,下意识反应就是诶,难道我要知道所有的平方和,再进行数数。百度一下吧,我的天,四平方和定理,这么美妙而神奇的定理,仿佛开启了我当年屁颠屁颠背会乘法口诀的数学康庄大道一样,好开心,原来这世间所有的正整数都可以表示成4个整数的平方和,那这个答案只有1 2 3 4了~ 我仿佛体会到了数学老师口中的数学的美,是无法用言语表达的美~哇哦!class Solution {publi...

2018-08-25 21:20:16 119

转载 线程安全

https://www.cnblogs.com/tcming/p/6711506.html1. 一个对象是否需要时线程安全的,取决于该对象是否被多线程访问。这指的是程序中访问对象的方式,而不是对象要实现的功能。要使得对象是线程安全的,要采用同步机制来协同对对象可变状态的访问。Java常用的同步机制是Synchronized,还包括 volatile类型的变量,显示锁以及原子变量。2.线程安...

2018-08-23 16:35:55 96

转载 hash冲突以及解决办法?

https://blog.csdn.net/qq_36771269/article/details/797282431.什么叫hash冲突?hash表的存储是key值和value值一起存储,如果一个key值对应的value值多个的话,就会引起hash冲突。2.如何解决(1)开发地址法又称再散列法,如果key值对应的散列值p有冲突,在p的基础上散列一个p1,如果还有冲突,散列一个...

2018-08-23 16:20:54 310

转载 死锁?

https://www.cnblogs.com/hadoop-dev/p/6899171.html1.什么是死锁?死锁就是两个线程或者以上占用了对方所需的资源,导致这些线程处于等待状态,无法继续执行。如果是两个线程互相持有对方所需的资源,此时造成死锁。死锁产生的条件:(1)互斥条件:一个资源只能被一个线程同时占用。(2)请求和保持条件:如果一个线程请求的资源被占用的话,那么该线...

2018-08-23 15:54:29 131

转载 指针函数和函数指针

http://nevel.cnblogs.com/p/6370264.html1.指针函数  重点是函数  返回类型是指针 ,一个地址类型标识符 *函数名(参数表)int *f(x,y);float *fun();float *p;p=fun(a);2.函数指针 重点是指向函数的指针变量 int (*f)(int x);//声明一个函数指针f=func;//将...

2018-08-23 14:30:54 105

原创 全排列问题123 OR abc

由于全排列问题在面试中不停地被手撕,所以写下来,主要是剑指offer的abc的全排列,去重;和123的全排列。全排列考察了递归和回溯。#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;string.h&gt;using namespace std;void swap(char *a,char *b){ cha...

2018-08-23 13:29:18 1030

原创 多益30分钟技术面(跪)

1.自我介绍2.平时喜欢看哪些专栏呀,技术博客呀,关注的行业热点呀!3.const关键字4.手撕一个123的全排列10分钟,没写出来。5.线程安全?6.死锁怎么看?7.函数指针?8.python中的循环引用?9.排序算法有哪些,稳定性?10.举例说明全局变量的缺点?(1)严重依赖,破坏程序的封装性。(2)全局变量被错误修改,引起整个程序错误(3)递归...

2018-08-23 10:27:31 1559

原创 格灵深瞳技术面

1.C++STLhttps://blog.csdn.net/piaoxuezhong/article/details/543487872.c++多线程https://www.cnblogs.com/wangguchangqing/p/6134635.html3.回调函数https://www.cnblogs.com/jontian/p/5619641.html4.C++11...

2018-08-13 20:14:02 1302

转载 拼多多19年提前批笔试

1.买可乐#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main(){ string strs[]={"Alice","Bob","Cathy","Dave"}; int n=0; cin&gt;&gt;n; int i=1; whi

2018-08-12 11:22:03 480

转载 01背包问题之动态规划

原链接:https://blog.csdn.net/ktigerhero3/article/details/50385109一直都不太明白遇到一个问题的时候如何确定动态规划,贪心算法,或者是回溯法,作者的博文解释的很明白,用一个形象生动的01背包问题解释了,不是什么样的问题选择什么样的方法,而是用这个方法如何解决你所遇到的问题。1.动态规划#include&lt;iostream&g...

2018-07-24 16:32:38 185

转载 进程 线程 通信

Linux进程间通信:管道、信号、消息队列、共享内存、信号量、套接字(socket)Linux线程间通信:互斥量(mutex),信号量,条件变量Windows进程间通信:管道、消息队列、共享内存、信号量 (semaphore) 、套接字(socket)Windows线程间通信:互斥量(mutex),信号量(semaphore)、临界区(critical section)、事件(even...

2018-07-20 09:39:50 100

原创 剑指offer——把字符串转换为整数

将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。思路:除掉空格,判断是否是合法字符,合法之后判断是否为正负值,然后计算。class Solution {public: int StrToInt(string str)...

2018-07-18 22:00:16 134

原创 剑指offer——扑克牌顺子

LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面...

2018-07-18 21:54:31 122

原创 分糖果问题

阿里的测试题,只能用java写,恩,我就只通过了20%,后来网上找了答案,才知道忘记考虑=条件。#include &lt;iostream&gt;#include&lt;vector&gt;using namespace std;int candyCount(vector&lt;int&gt;&amp;rating){ int res=0; int n=ratin...

2018-07-18 11:20:51 303

原创 剑指offer——50/66

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路:利用递归实现。1.需利用逻辑与的短路特性实现递归终止。2.当n==0时,(n&gt;0)&amp;&amp;((sum+=Sum_Solution(n-1))&gt;0)只执行前面的判断,为false,然后直接返回0;3.当n&gt;0...

2018-07-17 11:29:14 109

原创 剑指offer——51/66不用加减乘除做加法

 写一个函数,求两个整数之和,要求在函数体内不得使用+-*/四则运算符号!思路:利用与运算和异或运算得到进位和求和。class Solution {public: int Add(int num1, int num2) { int sum,carry; do { sum=num1^num2; ...

2018-07-17 11:10:07 96

原创 剑指offer——52/66数组中重复的数字

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路:用一个哈希表先将所有出现的数字的次数保存起来,再遍历一次,得到重复的数字。class Solution {publi...

2018-07-17 11:01:29 109

原创 剑指offer——53/66构建乘积数组

给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。思路: 很明显的,分别计算下三角和上三角的乘积!class Solution {public: vector&lt;int&gt; multiply(const ve...

2018-07-17 10:59:25 96

原创 剑指offer——53/66正则表达式匹配

请实现一个函数用来匹配包括‘.’和‘*’的正则表达式,模式中的字符‘.’表示任意一个字符,而‘*’表示它前面的字符可以出现任意多次(包含0次),在本题中,匹配是指字符串的所有字符匹配整个模式,例如字符串“aaa”与模式“a.a”和“ab*ac*a”匹配,但是与“aa.a”和“ab*a”均不匹配。class Solution {public: bool match(char* str...

2018-07-16 16:08:30 115

原创 剑指offer——54/66表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。思路;把所有不合法的列举出来,剩下的就是合法的了!cl

2018-07-16 15:07:12 110

原创 剑指offer——55/66字符流中第一个不重复的字符

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。class Solution{public: //Insert one char from stringst...

2018-07-16 13:17:53 148

原创 剑指offer——56/66链表中环的入口结点

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路:双指针方法,fast每次走两布,slow每次走一步,两个指针相遇的时候,假设非环路径为x,环长度为y,相遇时slow走的环的距离是A,即:fast=x+n*y+A;slow=x+A;因为fast比slow多一倍距离,因此此时让slow回到起点,slow和fast同时一步走,相遇即为环的入口起点。class Soluti...

2018-07-16 11:10:56 100

原创 剑指offer——58/66二叉树的下一个结点

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路:1.二叉树为空,则返回空。2.结点的右孩子存在,从右孩子出发,找到右孩子的最左孩子结点。3.如果不是根结点,判断该结点是其父结点的左孩子,那么返回父结点,重复之前的判断,返回!class Solution {public: TreeLinkNode*...

2018-07-15 11:17:17 97

原创 剑指offer——60/66对称的二叉树

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:判断一棵树是否是对称的,需要判断子树也是对称的,所以需要判断左子树的左子树和右子树的右子树相等,左子树的右子树和右子树的左子树相等。class Solution {public: bool isSymmetrical(TreeNode* pRoot) { ...

2018-07-15 10:41:31 93

原创 剑指offer——59/66按之字形顺序打印二叉树

请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路:层次遍历,但是偶数层的需要反着添加!class Solution {public: void reverse(vector&lt;int&gt;&amp;vec) { for(int i=0;i&lt;vec.siz...

2018-07-14 08:39:30 123

原创 剑指offer——60/66把二叉树打印成多行

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:层序遍历,使用队列class Solution {public: vector&lt;vector&lt;int&gt; &gt; Print(TreeNode* pRoot) { vector&lt;vector&lt;int&gt; &gt;res; vect...

2018-07-13 14:16:11 132

原创 剑指offer——63/66数据流中的中位数

如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。思路:数据分为两部分,大顶堆得到最大的数放在min中,小顶堆得到最小的数放在max中。class Solution {public: vector&lt;int&gt;min; vector&lt...

2018-07-12 20:52:12 94

原创 剑指offer——62/66二叉搜索树的第k个结点

给定一颗二叉搜索树,请找出其中的第k小的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。思路:中序遍历/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : ...

2018-07-12 20:38:00 86

原创 剑指offer——64/65滑动窗口的最大值

给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, ...

2018-07-11 19:44:05 126

原创 剑指offer——65/66矩阵中的路径

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个...

2018-07-11 16:32:17 92

空空如也

空空如也

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

TA关注的人

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