自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1

Public class OperationFactory { public static Operation createOperate(string operate){ Operation oper = null; switch(operate){ case “+”: oper = new OperationAdd(); break; case “-”: oper ...

2019-08-22 11:35:05 182

原创 链表的排序

/*** 本参考程序来自九章算法,由 @九章算法 提供。版权所有,转发请注明出处。* - 九章算法致力于帮助更多中国人找到好的工作,教师团队均来自硅谷和国内的一线大公司在职工程师。* - 现有的面试培训课程包括:九章算法班,系统设计班,算法强化班,Java入门与基础算法班,Android 项目实战班,* - Big Data 项目实战班,算法面试高频题班, 动态规划专题班* - 更多详...

2019-07-15 17:46:56 165

原创 算法基础__第2课(按照某个值划分数组、荷兰国旗问题、快速排序以及对快速排序的改进、堆排序以及堆排序的时间复杂度分析。基数排序特点以及介绍)

给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。样例Example 1:Input:[],9Output:0Example 2:Input:[3,2,2,1],2Output:1Ex...

2019-06-15 15:58:27 222

原创 算法基础__第3课(数组实现队列和栈、实现能够获取最小值的栈、队实现栈、栈实现队、转圈打印矩阵、螺旋矩阵、链表反转(I、II)、之字形打印矩阵、有序矩阵找值、打印链表公共部分、带环链表问题)

用数组结构实现大小固定的队列和栈//// arrtostackorqueue.cpp// basic3//// Created by 吴珝君 on 2019/6/13.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include <iostream>#include <iostream&...

2019-06-13 17:19:14 227

原创 算法基础__第4课(二叉树前中后序非递归遍历、层次遍历、二叉树的序列化与反序列化、二叉树的后继节点、二叉搜索树的后继节点、折纸问题)

1. 二叉树的锯齿形层次遍历给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行) 样例样例 1:输入:{1,2,3}输出:[[1],[3,2]]解释: 1 / \ 2 3它将被序列化为 {1,2,3}样例 2:输入:{3,9,20,#,#,15,7}输出:[[3],[20,9],[15,7]]解释: ...

2019-06-12 18:58:29 288

原创 算法基础__第5课(认识哈希函数与哈希表、设计RandomPool结构、认识布隆过滤器、认识一致性哈希、岛问题、认识并查集结构)

57. Insert Delete GetRandom O(1)中文English设计一个数据结构实现在平均 O(1) 的复杂度下执行以下所有的操作。insert(val): 如果这个元素不在set中,则插入。remove(val): 如果这个元素在set中,则从set中移除。getRandom: 随机从set中返回一个元素。每一个元素返回的可能性必须相同。样例// 初始...

2019-06-12 17:28:02 175

原创 算法基础__第7课(前缀树以及相关应用、分金条问题、IPO问题、数据流中的中位数、宣讲会的场次、字符串的最小拼接序列)

什么是前缀树、前缀树的基本特征、前缀树的应用、所谓的字典树又被称为前缀树或者叫做trie树,是处理字符串的常用数据结构。其优点是利用字符串的公共前缀来节约存储空间。其基本性质如下:(1)根节点没有字符路径。除根节点之外,每一个节点都被一个字符路径找到。(2)从根节点出发到任何一个节点,如果将沿途 的字符连接起来,一定是某个字符串的前缀。(3)每个节点向下所有的字符路径上的字符都不同。...

2019-06-11 19:30:42 189

原创 算法进阶__第4课(大楼轮廓问题、LRU、LFU、异或和为0的最多划分、最大搜索二叉子树、和为aim的最长子数组)

给定一个N行3列二维数组,每一行表示有一座大楼,一共有N座 大楼。 所有大楼的底部都坐落在X轴上,每一行的三个值 (a,b,c)代表每座大楼的从(a,0)点开始,到 (b,0)点结束,高 度为c。 输入的数据可以保证a<b,且a,b,c均为正数。大楼之 间可以有重合。 请输出整体的轮廓线。 例子:给定一个二维数组 [ [1, 3, 3], [2, 4, 4], [5, 6, 1] ]...

2019-06-10 19:38:52 289

原创 算法进阶__第5课(判断一棵二叉树是否是搜索二叉树、判断一棵二叉树是否是完全二叉树、判断一棵树是否是平衡二叉树、二叉树的最大路径和[1][2]、最大欢乐值、)

判断一棵二叉树是否是搜索二叉树、 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Solution1{public: l...

2019-06-10 18:11:14 233

原创 算法进阶__第6课(换硬币(需要的最少的硬币数,硬币有多个)、换硬币(能够换硬币的种类,硬币有多个)、字符串匹配、未排序数组种累加和维给定值的最长子数组系列问题)

需要的最少硬币数目class Solution {public: /** * @param coins: a list of integer * @param amount: a total amount of money amount * @return: the fewest number of coins that you ne...

2019-06-08 21:15:34 175

原创 算法进阶__第7课(矩阵的最小路径和、最长递增子序列、最长公共子序列(长度+序列)、最长公共字符串(长度+子串)、最小编辑距离、回文最小分割数、有效的括号序列[1][2]、最长有效的括号数)

矩阵的最小路径和【题目】 给定一个矩阵m,从左上角开始每次只能向右或者向下走,最后 到达右下角的位置,路径上所有的数字累加起来就是路径和, 返回所有的路径中最小的路径和。【举例】如果给定的m如下:1359813450618840 路径1,3,1,0,6,1,0是所有路径中路径和最小的,所以返 回12。【要求】额外空间复杂度O( min {m , n})//// ...

2019-06-05 17:43:43 294

原创 算法进阶__第8课(两个有序数组相加和的topk问题、边长都是1的正方形大小、最大子数组的和、最长不重复子串、斐波那契扩展、完美洗牌问题)

题目1:两个有序数组间相加和的TOP K问题【题目】 给定两个有序数组arr1和arr2,再给定一个整数k,返回来自 arr1和arr2的两个数相加和最大的前k个,两个数必须分别来自 两个数组。【举例】 arr1=[1,2,3,4,5],arr2=[3,5,7,9,11],k=4。 返回数组[16,15,14,14]。【要求】时间复杂度达到O(klogk)。class N...

2019-06-05 11:58:46 856

原创 分红包的两种方法

import java.math.BigDecimal;import java.text.DecimalFormat;import java.util.*;public class RedPacket { public static void main(String[] args) { // list = divideRedPacket(3,2);...

2019-05-30 16:42:51 553

原创 LRU的实现

typedef struct double_link_list{ int key; int val; struct double_link_list *pre; struct double_link_list *next; double_link_list(int key, int val) { this->key = ke...

2019-05-28 16:14:45 132

原创 深信服一面面试

2019.5.26深信服一面1、简要介绍你的项目,你做了什么,在这个项目中收获了什么?这个项目的难点在哪里?越障评估?2、vector和list的比较3、STL的组成4、memcmp能否比较结构体5、map的底层实现6、常见的文件操作API7、strcpy使用的时候会导致哪些问题?8、快排的原理9、怎么从一个随机集合中取出三个数 这三个数一定不同10、多个...

2019-05-27 15:40:49 960

原创 BST(java和c++实现)

import jdk.dynalink.beans.StaticClass;public class BST_Test { public static void main(String[] args) { System.out.println("helloworld"); int [] a = {62,88,58,47,35,73,51,99...

2019-05-24 19:33:25 322

原创 求和为aim的最长子数组以及扩展问题

求和为aim的最长子数组//// mosteor.cpp// AdvancedFour//// Created by 吴珝君 on 2019/5/23.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include "mosteor.hpp"#include <iostream>#include...

2019-05-23 20:15:13 217

原创 大楼轮廓问题

水平面上有N座大楼,每座大楼都是矩阵的形状,可以用一个三元组表示(start, end, height),分别代表其在x轴上的起点,终点和高度。大楼之间从远处看可能会重叠,求出N座大楼的外轮廓线。外轮廓线的表示方法为若干三元组,每个三元组包含三个数字 (start, end, height),代表这段轮廓的起始位置,终止位置和高度。请注意合并同样高度的相邻轮廓,不同的轮廓线在...

2019-05-23 10:57:23 504

原创 C程序中使用正则

POSIX规定了正则表达式的C语言库函数,详见regex(3)。我们已经学习了很多C语言库函数的用法,读者应该具备自己看懂man手册的能力了。本章介绍了正则表达式在grep、sed、awk中的用法,学习要能够举一反三,请读者根据regex(3)自己总结正则表达式在C语言中的用法,写一些简单的程序,例如验证用户输入的IP地址或email地址格式是否正确。C语言处理正则表达式常用的函数有regc...

2019-05-21 17:26:28 294

原创 广播的实现

//// main.c// broadcastclient//// Created by 吴珝君 on 2019/5/20.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include <stdio.h>#include <unistd.h>#include <string.h&g...

2019-05-20 12:40:33 334

原创 组播的实现

//// main.c// udpmuticastserver//// Created by 吴珝君 on 2019/5/20.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include <stdio.h>#include <unistd.h>#include <string.h...

2019-05-20 10:54:59 1375

原创 本地套接字的使用

#include <stdio.h>#include <unistd.h>#include <sys/socket.h>#include <strings.h>#include <string.h>#include <ctype.h>#include <arpa/inet.h>#include &l...

2019-05-20 09:07:30 447

原创 udp简单通信

//客户端#include <stdio.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <ctype.h>#define SERV_PORT 8000int main(int argc, char *argv[]){ ...

2019-05-19 21:03:44 342

原创 去除出现最少的字符串(错误思路分析)

#include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;void getcount(string s){ int a[26] ={0}; fill(a, a+26, 0); f...

2019-05-19 09:42:26 104

原创 关于多路IO的总结

1、select首先,select的缺点1:是select管理的描述符的数量在不重新编译内核的情况下是一个固定的值:1024,当然,重新编译了Linux内核之后,这个数值可以继续增大到用户的需求,但是这是相对来说比较麻烦的一件事。其次。select的缺点2:是select对于socket描述符的管理方式,因为Linux内核对select的实现方式为每次返回前都要对所有的描述符进行一遍遍历,...

2019-05-18 17:42:18 212

原创 东方证券笔试

笔试问题汇总小王、小张、小赵三个人是好朋友,他们中三个人一个人下海经商,一个考上了重点大学,一个人参军了,此外还知道下面的条件:小赵的年龄比比士兵的年龄大、大学生的年龄比小张小,小王的年龄和大学生不一样。 分析:小赵不是士兵、小张不是大学生、小王不是大学生 那么 可以确定小赵是大学生 由于小张的年龄大于大学生的年龄 大于士兵的年龄 因而小张是商人、那么小王只能是士兵。 答案:小赵:大学...

2019-05-14 20:36:33 780

原创 猫眼面试题汇总

1、浏览器输入网址到呈现内容,中间发生了什么?1、查询DNS,获取域名对应的IP。(1)检查本地hosts文件是否有这个网址的映射,如果有,就调用这个IP地址映射,解析完成。(2)如果没有,则查找本地DNS解析器缓存是否有这个网址的映射,如果有,返回映射,解析完成。(3)如果没有,则查找填写或分配的首选DNS服务器,称为本地DNS服务器。服务器接收到查询时: · 如...

2019-05-14 17:59:31 1237

原创 http请求格式(专题)

(本文的解释是完整的,ajax把很多东西封装了)HTTP有两类报文:请求报文和响应报文。HTTP请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。or<request-line><headers><blank line>[<request-body>1.请求头...

2019-05-14 17:49:28 4899

原创 猫眼撸代码题汇总

1、排序2、topk3、栈实现队 队实现栈4、查找子串的出现次数5、数组实现栈 /队列6、求最大连续子序列7、查找数组中是否存在当前的元素//// main.cpp// cateye//// Created by 吴珝君 on 2019/5/10.// Copyright © 2019年 闲着也是贤者. All rights reserved./...

2019-05-14 16:56:51 310

原创 4、模拟多线程服务器并发

#include <stdio.h>#include <string.h>#include <arpa/inet.h>#include <pthread.h>#include <ctype.h>#include <unistd.h>#include <fcntl.h>#include "wrap....

2019-05-08 19:08:35 146

原创 3、模拟多进程并发服务器

//// main.cpp// mutiserver//// Created by 吴珝君 on 2019/5/8.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include <iostream>#include "mysocket.hpp"#include <unistd.h>#i...

2019-05-08 18:30:50 261

原创 2、对socket常用函数的简单封装

//// mysocket.hpp// SocketServer//// Created by 吴珝君 on 2019/5/8.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#ifndef mysocket_hpp#define mysocket_hpp#include <stdio.h>#...

2019-05-08 11:54:40 173

原创 1、简单socket通信

//// main.cpp// SocketClient//// Created by 吴珝君 on 2019/5/8.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include <stdio.h>#include <unistd.h>#include <string.h>...

2019-05-08 10:07:59 113

原创 按照字符串中某个字符子串的出现顺序对字符串排序

//// main.cpp// newcoder//// Created by 吴珝君 on 2019/5/5.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include <iostream>#include <string>#include <vector>#inclu...

2019-05-07 09:35:02 1043

原创 增加一个字符使其成为回文串

//// main.cpp// newcoder//// Created by 吴珝君 on 2019/5/5.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include <iostream>#include <string>#include <vector>#inclu...

2019-05-06 21:45:51 1498

原创 字符串替换

//// main.cpp// newcoder//// Created by 吴珝君 on 2019/5/5.// Copyright © 2019年 闲着也是贤者. All rights reserved.//#include <iostream>#include <string>#include <vector>using...

2019-05-06 20:09:25 174

原创 字符串的处理(分割字符串与替换字符)

//// main.cpp// newcoder//// Created by 吴珝君 on 2019/5/5.// Copyright © 2019年 闲着也是贤者. All rights reserved.///*题目描述请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。 则将剩...

2019-05-05 17:38:19 1600

原创 linux基础(基本命令与简单服务器搭建)

1、yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。2、安...

2019-04-22 21:48:45 165

原创 贪心策略(分糖果、移除数字、区间覆盖问题)

贪心算法是指:在对问题求解的时候,总是做出在当前看来最好的选择。也就是说,找出局部最优解。通过求局部最优解得到最终问题的答案。贪心策略的选择必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。贪心问题的解决步骤:(1)当我们看到这些问题,首先联想到贪心算法:针对一组数据,我们定义了限制值和期望值,希望从中选择几个数据,在满足限制值的情况下,期望值最大。(2)尝试...

2019-04-04 15:56:38 339

原创 字符串输入未知长度数组的处理(记拼多多血与泪的故事)

#include<iostream>#include<string>#include<vector>using namespace std;void splitString(const string &s, vector<string> &v, const string &c){ string:...

2019-04-04 10:11:47 801

空空如也

空空如也

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

TA关注的人

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