- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 字符编码
一 ASCII码: 计算机内部,每一个二进制位(bit)有0和1两种状态,一个字节(byte),八个二进制位就可以组合出256种状态。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 ASCII码记录英文字符和二进制位之间的关系。ASCII码一共规定128个字符,占一个字节的后7...
2019-07-04 16:58:32
165
原创 字节跳动三面
总体来说主要是讲项目,一定要能自圆其说,而且对于所用的开源软件一定要说明使用这个的原因,表示至少自己做过一定的市场调研,即使原因说的不够充分,不够成熟其实影响也不大。一面:1 自我介绍,并介绍项目2 项目中使用ZMQ 的原因,从以下几个方面讲: 1)从市面上常用的一些消息队列,消息库;(面阿里的时候有问为什么不用C++11 自带的消息库,表示真的不知道,现在还没看到相关的资料,...
2019-06-20 22:59:56
1007
原创 -finstrument-functions实验简单记录
参考链接:https://www.cnblogs.com/zhaohongtian/p/6801310.html-finstrument-functions:一、多个文件同时编译:[mjj@hadoop-senior test]$ gcc -g -finstrument-functions test.c main.c instrument.c -o main可直接生成带有h...
2019-06-17 19:53:38
657
1
原创 leetcode 139 Word Break
描述:一个非空字符串s,包含一系列非空单词的字典序列,判断s是否可由一个或多个电词表中的元素构成Note:The same word in the dictionary may be reused multiple times in the segmentation. You may assume the dictionary does not contain duplicate wor...
2019-06-07 20:38:15
148
原创 Leetcode673 Numbber of longest Increasing Subsequence
描述:求最长公共子序列的数量:example1:Input: [1,3,5,4,7]Output: 2Explanation: The two longest increasing subsequence are [1, 3, 4, 7] and [1, 3, 5, 7].example 2:Input: [2,2,2,2,2]Output: 5Explanation:...
2019-06-03 20:55:05
171
原创 Leetcode 2 Add Two Numbers
题目描述: 使用链表模拟进位加法,两个链表相加,链表顺序为数字低位到高位Examples:Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 -> 0 -> 8Explanation: 342 + 465 = 807.思路:模拟数字加法要考虑的主要就是进位问题需要考虑的几个点是:1 相加之后的...
2019-06-01 22:28:52
115
原创 Leetcode48 Rotate Image
描述:一个n*n的矩阵,将其顺时针转90°(不允许申请额外的矩阵)Example: Given input matrix = [ [1,2,3], [4,5,6], [7,8,9]],rotate the input matrix in-place such that it becomes:[ [7,4,1], [8,5,2], [9,6,3]]...
2019-06-01 22:27:36
195
原创 Leetcode227 Basic Calculator II
描述:实现一个计算器,字符串中只包含非负整数,+,-,*,/和空格Example1: Input: "3+2*2" Output: 7Example2: Input: " 3/2 " Output: 1这道题相对来说还是比较简单的,不需要考虑括号及其他运算,但是我做的答案还是有一些问题,先贴一个个人觉得比较好的代码class Solution {public: ...
2019-05-29 20:20:52
158
原创 Leetcode698 Partition to K Equal Sum Subsets
问题描述:判断数组中的数是否可以分为和相等的k组数Example:Input: nums = [4, 3, 2, 3, 5, 2, 1], k = 4Output: TrueExplanation: It's possible to divide it into 4 subsets (5), (1, 4), (2,3), (2,3) with equal sums.第一个思路是...
2019-05-28 22:50:01
113
原创 Leetcode11 Container With More Water && Leetcode42 Trapping Rain Water
这两个问题的解决方案都是基于头尾指针进行的,知识点在于对数组的处理。Container With More WaterExample:Input: [1,8,6,2,5,4,8,3,7]Output: 49解法1:从左到右遍历数组,记录最大的数字作为maxHeight(i处的高度),同时遍历i后的每一个数字,不断更新最大容量值,这种情况下的时间复杂度达到了O(n^2);...
2019-05-28 21:06:07
142
原创 More Effective C++ ——异常
exception无法被忽略,如果一个函数以“设置状态变量”或“返回错误码”的方式发出一个异常信号,无法保证此函数的调用者会检查这个变量或错误码,于是程序的执行会一直继续下去远离错误发生地点,但是如果函数以抛出异常的方式发出异常信号,而该exception被捕捉,程序的执行便会立刻终止。 C++ exception较C语言longjmp,setjump的优势:发射e...
2019-05-14 22:42:58
192
原创 More Effective C++ ——操作符
焦点放在“重载操作符”被调用的时机,被调用的方法,它们的行为,它们应该如何与其他操作符发生关系以及如何夺取“重载操作符”的控制权。一 对定制的“类型转换函数”保持警惕1 隐式类型转换的两种方式: 单自变量constructors: 指能够以单一自变量成功调用的constructors(可能声明具有单一参数,也可能声明具有多个参数,数,并且除了第一参数之外都有默认值);...
2019-05-09 22:51:14
261
原创 More Effective C++ ——基础议题
条款1: 仔细区别Pointers和References 均用于间接指向其他对象,pointer存储对象所在的地址(4个字节),reference实质上是对象的别名: 1 显式区别:pointer定义时使用符号 ‘*’ ,reference定义时使用符号 ‘&’ (&用于指针表示取某个变量的地址,将其赋值给指针变量);Pointer访问指向的对象时...
2019-05-08 22:15:25
169
转载 linux vdso
作用: 解决linux内核与glibc的兼容问题介绍:VDSO就是Virtual Dynamic Shared Object,即内核提供的虚拟的.so,这个.so文件不在磁盘上,而是在内核里头。内核把包含某.so的内存页在程序启动的时候映射入其内存空间,对应的程序就可以当普通的.so来使用里头的函数。比如syscall()这个函数就是在linux-vdso.so.1里头的,但是磁盘上并没有对应...
2019-05-07 09:21:27
509
转载 计算机网络 三次握手 四次挥手
https://blog.csdn.net/qq_38950316/article/details/81087809
2019-04-18 19:13:03
160
原创 C++ 内存管理
C++ memory primitive分配 释放 类属 可否重载 malloc() free() C函数 不可 new free C++表达式 不可 ::operator new() ::operator delete() C++函数 可以 allocator<T>::allocator()...
2019-04-14 16:11:58
164
原创 PIN 插桩(一)
Pinpin可以被认为是一个JIT编译器,这个编译器的输入不是字节码而是普通的可执行文件。pin截获这个可执行文件的第一条指令,产生新的代码序列。在JIT模式,执行的代码都是pin生成的代码,原始代码仅仅是用来参考。当生成代码时,pin给用户提供了插入自己代码的机会‘PIn的桩代码都会被执行的,不论他们位于哪里。大体上,对于分支存在一些异常,比如,如果一个指令从不执行,它将不会插入桩函...
2019-04-13 12:01:05
2944
1
原创 Linux GDB调试
为了练习 写了一段希尔排序(代码拷贝不出来 就不贴了)在待调试的程序代码中添加调试信息:[mjj@hadoop-senior test]$ gcc sort.c -o app -g即在GCC编译的基础上加上选项-g,此时生成一个带有调试信息的可执行文件app。[mjj@hadoop-senior test]$ gdb appGNU gdb (GDB) Red Hat...
2019-03-16 19:48:49
188
原创 linux GCC编译器
GCC编译流程GCC的安装(root权限)# yum install gcc-c++ libstdc++-devel预处理:[mjj@hadoop-senior test]$ gcc -E hello.c -o hello.i -o用于指定生成的文件名编译:[mjj@hadoop-senior test]$ gcc -S hello.i -o hello....
2019-03-16 18:06:53
232
原创 linux vi编辑器
vi编辑器是Linux系统下最基本的编辑器,工作在字符模式下。由于不使用图形界面,因此Vi的工作效率非常高,且它在系统和服务管理中的功能是带图形界面的编辑器无法比拟的。vi编辑器有三种模式:命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)命令模式: 使用vi编辑器打开文件后,默认进入命令模式。在该模式下可以通过键盘控...
2019-03-15 13:41:25
4334
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人