自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode String to Integer (atoi)

一个看似很简单的问题。 然而遇到这样一个问题 int sum=0; sum-=pow(10,2) sum竟然等于-99; 原因是pow参数和返回类型都是double,转型为int会丢失精度。 然后把sum改为double,输出就是对的,也不是-100.000,C++ cout自动格式化。

2017-08-05 15:23:47 269

原创 linux ELK(filebeat)环境搭建中加入kafka消息队列的详细介绍(菜鸟新手级别)

本文所使用的软件版本如下filebeat 5.4.0,elasticsearch 5.4.0,kibana 5.4.0, 最近公司需要做实时日志分析系统,在网上查了很多资料,发现ELK是最适合的,而且是开源,官方文档还算详细。          尽管ELK环境搭建在网上一搜一大片,即使如此我还是花了好几天的时间才能搭好,因为其中很多很多细节网上没有提到。所以希望将我搭的过程中遇到的问题分享出来

2017-05-26 18:58:31 19401 3

原创 Longest Palindrome

leetcode Longest Palindrome                  用map找每个元素出现个数,result +=偶数出现的次数,若其中有奇数次,-1取偶数次,最后+1即可。 ######注意可以用unorderd_map提高效率。 代码如下:class Solution { public:         int longestPalindrome(strin

2017-04-21 00:07:05 351

原创 Kth Smallest Element in a BST

这道题不难。 但是卡了一会,原因是if(count=k-1) 我没写==。 然后突然想起吉林大学的一位C++老师,碰到 这种情况,我们要写k-1 ==count!!! 递归思路如下       1.若左子树有k-1个节点,返回根的值       2.若左子树有多余k-1个,则在左子树找第k小的       3.若左子树少于k-1个,则在右子树找 k-左子树节点数-1小的 代码如下:cl

2017-04-20 16:24:56 224

原创 leetcode 476. Number Complement

本题比较简单,从左到右找到第一个1,也即确定mask。 若n&mask == 1 则n=n-mask 若n&mask ==0 则 n= n+mask; 代码如下 class Solution { public:     int findComplement(int num) {                  int mask=pow(2,30);         cout

2017-04-18 00:25:45 163

原创 leetcode 461. Hamming Distance

一.本题熟悉一个算法。 判断一个二进制x有几个1      即x&1 看x的最低位是否为1,然后将x右移再&1即可。知道x为0; 二.代码如下: class Solution { public:     int hammingDistance(int x, int y) {         int count=0;         int result = x^y;        

2017-04-17 23:18:39 264

原创 京东面试 终结者C

这道题只A了70%。 但是在编写程序过程中学到了很多细节。 一.memset的使用,赋值是按字节赋值的,也就是第二个参数只能是0-255。 啥是按字节赋值? eg:memset(a,0,sizeof(int)*200),使用00000000给一个字节赋值,而int是4个字节,则每一个int被32个0填充,一共200个int。 那么我们就不可以memset(a,1,sizeof(int)*

2017-04-17 12:38:31 442

原创 leetcode Reverse Linked List II

这道题是给定了位置的逆序。 一.这道题主要是对于少于等于2个节点   和   多于2个节点的情况进行区别。少于2个节点的时候presubhead 是NULL。 当presubhead是null的时候,tail才是头。 presubhead不是null,head才是头。 二.代码 class Solution { public:     ListNode* reverseBetween

2017-04-17 12:28:55 214

原创 leetcode Reverse Linked List

这道题题目的hint说,让我们尝试迭代和递归2种做法. (1)迭代比较简单。注意最后头结点的next置为空,还有注意判断空,或者是只有一个节点的时候,这2种情况都直接返回root即可。 (2)主要是递归的做法。 函数功能是逆置一个以head为头的链表,那么可以先逆置head->next的,最后处理head。(可以有->next->next这种写法的) class Solution { p

2017-04-17 12:26:34 191

原创 Convert Sorted Array to Binary Search Tree

这道题总体比较简单~  巩固基础知识 一.给定有序的数组,如何构建一颗平衡二叉树(平衡二叉树也是二叉排序树的一种)。 二. 还有函数参数的问题,传进来的是一个vector的引用,可以不用管,直接用就好。递归的时候,传入参数使用迭代器写的vector。 三.代码 class Solution { public:     vector left;     vector right;  

2017-04-17 12:12:02 200

原创 leetcode 543. Diameter of Binary Tree

leetcode 543. Diameter of Binary Tree 一.这道题考察的是对题目的理解,主要是最长路径不一定是经过根的。也就是树的diameter为 max(左子树的diameter,右子树的diameter,左子树深度+右子树深度)   注意路径长度是边的数量,所以max的最后一项不要加1 二. 其实真不简单。 难的是思路。题目tag竟然写easy好伤心。。 三.代码

2017-04-15 21:16:40 248

原创 leetcode 104 226 100

leetcode 104 226 100 这三道题基本一样,一次AC,没啥说的

2017-04-15 14:08:49 644

原创 538. Convert BST to Greater Tree

leetcode 538. Convert BST to Greater Tree 一. 这道题我想起了考研时候的二叉排序树的特点~即中序遍历是递增的 但是我又想,只知道中序的话是不能还原出原二叉树的。 然后又去想 递归,具体过程是 计算某个节点的val的时候,必须加他父亲节点还有他的右子树的和,但是当一个节点是他父亲节点的右侧节点时,还得去找父亲的父亲。。所以递归没有想出来。于是求助了答案

2017-04-14 23:41:51 269

原创 leetcode508 Most Frequent Subtree Sum

leetcode508 Most Frequent Subtree Sum    一. 其实本题思想比较简单~ 学习的更多的是map的用法 二.  (1)还有第一次运行效率只打败了20%的选手,但是一看其他人的C++程序,用的也是递归方法啊,但是运行只用18ms,我用了23ms,仔细一看,是在递归中就直接找到max了,而我重新定义函数找了一遍。 (2)反正要遍历map的所有元素,那

2017-04-14 19:43:07 242

原创 leetcode 515. Find Largest Value in Each Tree Row

Hi,又见面了~第二天,难度和之前差不多。 515. Find Largest Value in Each Tree Row 一.犯的错误 (1)逻辑上的问题都是在调试中发现的,比如这题在没加最后一句push_back的时候,发现输出只有2层的输出,最后一层没输出。然后才发现是最后一个if没走到,所以加了一个push_back 二。 初始max的赋值我naive的认为初始化-1

2017-04-13 21:35:58 208

原创 Find Bottom Left Tree Value

第一篇文章,纪念自己的leetcode之路,这段时间的面试让我深深的知道自己coding能力的不足,沉下心来学习吧~ 一. leetcode 513 Find Bottom Left Tree Value 这道题其实开始的时候也是想层次遍历,层次遍历真的是最简单的一种二叉树的遍历方式,因为逻辑很清晰不需要递归。本题只需要当深度首次+1的时候记录下节点即可。 于是第一种解法为 int fin

2017-04-12 18:46:19 419

空空如也

空空如也

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

TA关注的人

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