- 博客(158)
- 资源 (5)
- 收藏
- 关注
原创 等额本金算房贷以及提前还款应还利息
#include <iostream>using namespace std;double get_every(int month, double lilv, double loan) { return loan/(double)month + loan*lilv;}double get_lixi(int month, double lilv, double loan,...
2019-12-23 01:14:47
703
原创 cin获取整行并跳过空行
void test() { std::stringstream iss; std::string str = ""; while(getline(std::cin, str)) {//获取整行 if (str.length() == 0) {//跳过空行 continue; } //d...
2019-06-06 13:22:01
2459
原创 二叉树反转(转换为原来的镜像二叉树)
struct TreeNode{ TreeNode(int _val):val(_val){} TreeNode *left; TreeNode *right;private: int val;}void reverse(TreeNode *root){ if(!root) return; queue<TreeNo...
2018-10-26 10:30:05
1289
原创 C++11中final和override的用法
final标识符用来限制某个类不能被继承,或者某个虚函数不能被继承(非虚函数不能用final标识符修饰)。override标识符可以让编译器帮忙确认派生类中声明的重写函数与基类的虚函数是否有相同的签名,同时也明确表明将会重写基类的虚函数,可以防止因疏忽把本来的想重写的基类的虚函数在派生类中声明为重载,还可以防止在派生类中重写的虚函数声明漏掉virtual关键字。 class A{ ...
2018-10-07 21:34:13
2646
原创 C++11右值引用、完美转发foward、可变模板参数实例
#include <iostream>using namespace std;struct A{ int x; A(int _x):x(_x){ cout<<"A constructor, x="<<x<<endl; } A(const A& a):x(a.x){ co...
2018-10-07 18:36:30
1328
原创 C++11中vector的emplace_back用法及输入输出操作符的重载
#include <vector>#include <iostream>#include <string>using namespace std;struct A{ int x; double y; string z; A(int _x=0,double _y=0,string _z=""):x(_x),y(_y),...
2018-10-07 17:59:14
4658
原创 由树节点的父子关系计算树的深度(据说是小米笔试题)
题目描述现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度输入描述:输入的第一行表示节点的个数n(1 ≤ n ≤ 1000,节点的编号为0到n-1)组成,下面是n-1行,每行有两个整数,第一个数表示父节点的编号,第二个数表示子节点的编号输出描述:输出树的高度,为一个整数示例1输入50 10 21 31 4...
2018-09-25 16:51:11
2346
原创 二叉树节点间的最长距离
距离最远的两点必然在以某个节点A为根的子树上,它们间的路径必然经过该子树的根节点A。因此,对二叉树中任意一个节点B为根的子树,计算出经过该子树根节点B的最大距离,则所有最大距离的最大值就是所要求的二叉树的最大距离。而经过树的根节点的最大距离为:左子树的高度+右子树的高度+2(两个子树到跟节点的距离均为1),因而,原问题等同于“计算每个节点的左子树和右子树的高度和,取最大值”。struct T...
2018-09-20 12:40:16
2499
原创 腾讯2019校招研发卷
第一题给出n,求最小的正整数m 使得LCM(1...n)==LCM(n+1...m)/** * 给出n 求最小的正整数m 使得LCM(1...n)==LCM(n+1...m) * 推结论的题 直接是求小于等于n的素数次方数*2 */#include <iostream>using namespace std;const int MAXN = 1e6+5;lon...
2018-09-16 12:41:03
1421
原创 ARM-LINUX自动启动相关脚本
/home/lizt/workplace/navigation/zyWorkSpace/naviWithPlotmount -t nfs 192.168.1.112:/home/lizt/workplace/navigation/zyWorkSpace/naviWithPlot /mnt -o nolockmount -t nfs 192.168.1.112:/home/lizt/workp...
2018-09-15 16:33:34
1025
原创 Indeed2019校园招聘第三次笔试
第一题A - Sum of Even NumbersTime limit : 2sec / Memory limit : 1024MBProblem StatementThere are N integers: A1,A2,…,AN. We will make Q changes to these integers. The q-th change is as follows:...
2018-09-14 19:42:53
1373
原创 欢聚时代(YY)2019校招-推荐系统开发(C++)A卷编程题解
据说都是剑指offer原题,但没用剑指offer的方法写(因为没怎么背答案)。1、特定字符替换为20%因为输入没有限制为char数组,也没说不能开新数组,所以没有在原有内存空间替换,用string遍历一把做替换,生成一个新的string.#include<iostream>#include<string>using namespace std;stri...
2018-09-14 18:05:29
1990
原创 字节跳动2019校招第三次笔试题解
1、最长不重复子串#include<iostream>#include<string>using namespace std;int solve(const string &str){ int hash[256]={0}; int start=0; int mstart=0; int mlen=0; int idx...
2018-09-09 12:49:31
6641
原创 商汤科技自动驾驶研究员2019校招笔试第一题-跳台阶(每次可跳1~m级,跳到第n级的跳法总数)
递推公式如下:n<=m时v[n]=2<<(n-2)n>m时v[n]=2*v[n-1]-v[n-1-m]输入n超过10^18,考虑是维护一个供迭代的双向队列做动态规划,更新尾部第i级台阶的跳法数,删除头部第i-m-1级台阶的跳法数,直到算出第n级的解。#include<iostream>#include<deque>u...
2018-09-07 21:24:57
1946
原创 Hashmap实现
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashMap和Hashtable之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入...
2018-09-07 15:04:07
239
原创 Linux awk统计日志中出现过的IP(或出现次数最多的N个IP)
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk的用法awk 'BEGIN{ commands } pattern{ commands } END{ commands }'第一步:运行BEGIN{ commands ...
2018-09-06 20:34:22
22405
原创 虚析构函数
直接的讲,C++中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放。假设基类中采用的是非虚析构函数,当delete基类指针指向的派生类对象时就不会触发动态绑定,因而只会调用基类的析构函数,而不会调用派生类的析构函数。那么在这种情况下,派生类中申请的空间就得不到释放从而产生内存泄漏。如果基类中析构函数声明为虚函数,则...
2018-09-06 17:31:55
708
3
原创 C++11多线程超卖问题
#include <thread>#include <mutex>#include <iostream>#include <vector>void Fun_1();void Fun_2();unsigned int counter = 1;std::mutex mtx;void my_fun(int i){ whil...
2018-09-03 22:19:44
325
原创 共享内存实例
demo1writer#include<stdio.h>#include<unistd.h>#include<sys/shm.h>#include<stdlib.h>#include <time.h>int main(){ int shm_id; int *share; int num; ...
2018-09-01 19:54:20
1652
原创 链表排序(归并排序法)
ListNode *sortList(ListNode *head) { //链表归并排序 if(head == nullptr || head->next == nullptr) return head; else{ //快慢指针找到中间节点 ListNode *fast = head,*slow = head; ...
2018-09-01 00:09:58
2743
原创 Java反射
package com.company;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.lang.refle...
2018-08-31 23:33:50
167
原创 终端自定义颜色
alias ls='ls -G'alias ll='ls -l'alias grep='grep --color'alias vi='vim' alias cd..='cd ..'export CLICOLOR=1export LSCOLORS=fxgxaxdxcxegedabagacadfunction git_branch { ref=$(git symbolic...
2018-08-31 23:04:08
299
原创 C++虚表地址、虚函数地址打印
#include <iostream>using namespace std;class Base{public : int base_data; Base() { base_data = 1; } virtual void func1() { cout << "base_func1" << endl; } virtu...
2018-08-17 23:23:34
1782
1
原创 华为2019软件类笔试
第一题忘记题目了...复盘不了#include<iostream>#include<string>#include <vector>#include <map>using namespace std;int main(){ cout<<"Hello Alipay!"<<endl;
2018-08-10 11:35:11
5204
1
原创 网易2019游戏研发工程师笔试题
第一题:计算个人所得税#include <iostream>using namespace std;int main(){ int t,n,result; float tmp; const float g=0.5000001; while(cin>>t){ for(auto i=0;i<t;++i){ ...
2018-08-10 11:16:13
6048
3
原创 Spring Batch
Spring Batch框架结构应用层包含所有的批处理作业,通过Spring框架管理成员自定义的代码。核心层包含了Batch启动和控制所需要的核心类,如JobLauncher、Job和Step等。基础架构层提供共通的读(ItemReader)、写(ItemWriter)和服务(如RetryTemplate:重试模块,可被核心层和应用层使用)。Spring Batch 框架流程介...
2018-08-08 16:17:14
1510
原创 旋转数组-O(1)空间复杂度,O(n)时间复杂度)
#include <iostream>using namespace std;void myReverse(int nums[], int start, int end) { while (start < end) { int tmp = nums[start]; nums[start++] = nums[end]; nums[end--] = tmp; ...
2018-08-05 21:22:02
1942
原创 快排(quickSort)
#include <iostream>using namespace std;void quickSort(int *a,int l,int r){ if(l<r){//用这个条件判断是否退出递归 int i=l,j=r,x=a[l]; while(i<j){ while(i<j&&a[j]>x) --j; ...
2018-08-05 21:05:09
288
原创 二分查找
int binarySerach(const vector<int>& v,const int& key){ int len=v.size(); int l=0,r=len-1,mid; while (l<=r){ mid=(l+r)/2; if(v[mid]==key) return mid; else if (v[mid]<ke...
2018-08-05 20:46:28
162
原创 10进制字符串Add strings和任意进制的Add strings
10进制字符串#include <iostream>#include <string>using namespace std;string addStrings(string num1, string num2) { int len1 = num1.size(), len2 = num2.size(), add = 0;//add用于记录逐位相加...
2018-07-30 20:16:27
284
原创 字典树(Trie树)
字典树——Trie树,又称为前缀树(Prefix Tree)、单词查找树或键树,是一种多叉树结构。上图是一棵 Trie 树,表示了关键字集合{“a”, “to”, “tea”, “ted”, “ten”, “i”, “in”, “inn”} 。从上图可见,Trie树的基本性质为:根节点不包含字符,除根节点外的每一个子节点都包含一个字符。 从根节点到某一个节点,路径上经过的字符连接起来...
2018-07-22 13:02:22
502
原创 Spring入门例程
新建Members接口-Members.javapublic interface Members { void showInfo();}在PersonImpl类中实现Members接口-PersonImpl.javapublic class PersonImpl implements Members { private String name; private int a...
2018-06-10 21:08:23
245
原创 删除链表中的重复节点(重复的保留一个)
ListNode* deleteDuplication(ListNode* pHead){ if(pHead==nullptr) return nullptr; auto p=pHead,pn=p->next,pnn=p; while(p!=nullptr&&pn!=nullptr) {...
2018-06-03 20:11:24
2798
原创 C++ string的字符串分割
假设str为待分割的字符串,pattern为分割的标记字符串,如下:vector<string> split(const string& str, const string& pattern) { vector<string> ret; if(pattern.empty()) return ret; s...
2018-05-27 21:42:04
17271
原创 堆排序-C++版(Java类似)
#include <algorithm>#include <iostream>using namespace std;//小顶堆向下调整,按升序排序或最大的k个值时建大顶堆,按降序排序或计算最大的k个值时建小顶堆。void MinHeapFixDown(int* a, int i, int n){ int j = 2*i+1; int temp = ...
2018-05-25 22:57:42
221
原创 STM8/32 CAN过滤器设置详解
CAN总线的标准帧和扩展帧主要决定帧ID的长度,标准帧的帧ID长度是11位,也就是帧ID的范围是000-7FF。扩展帧的帧ID长度是29位,也就是帧ID的范围是0000 0000-1FFF FFFF。CANopen帧ID最多是11位的,因此是标准帧;而SAE 1939协议通常是18XX XXXX的帧ID,是29位的,因此是扩展帧。在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的...
2018-03-28 18:00:35
9220
1
原创 C++32位系统与64位系统基本数据类型
32位与64位系统数据类型不同的平台上对不同的数据类型分配的字节数是不同的,一般的,数据类型的字节数是由编辑器决定的(编译期间决定数据类型长度)。简单来说,平台就是CPU+OS+Compiler,cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推。32位操作系统针对的32位的CPU设计。64位操作系统针对的64位的CPU设计。所以平台是三者...
2018-03-21 19:56:24
3459
原创 两数相加
给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807/** * Definition for sing...
2018-03-16 15:07:30
369
原创 1,2,3……,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3.输出所有解的两种解法
解法1:#include<iostream> #include<cstdio> using namespace std; void result(int num, int &result_add, int &result_mul) { int i, j, k; i = num / 100; ...
2018-03-11 18:08:33
2790
原创 C/C++程序内存的各种变量存储区域和各个区域详解
C语言在内存中一共分为如下几个区域,分别是:1. 内存栈区: 存放局部变量名;2. 内存堆区: 存放new或者malloc出来的对象;3. 常数区: 存放局部变量或者全局变量的值;4. 静态区: 用于存放全局变量或者静态变量;5. 代码区:二进制代码。知道如上一些内存分配机制,有助于我们理解指针的概念。C/C++不提供垃圾回收机制,因此需要对堆中的数据进行及时销毁,防止内存泄漏,使用free和de...
2018-03-11 17:57:16
81135
19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人