算法
李连毛
这个作者很懒,什么都没留下…
展开
-
剑指offer 二叉树中和为某一值的路径
二叉树中和为某一值的路径题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。我的解答思路这道题我是参考这篇博客的(点击跳转原博客)思路就是设置一个二位vector,也就是这里我们设置的res,然后另外写一个函数专门递归处理题目要求,递归样式也基本是固定的,需要将当前的current和sum都放在函转载 2016-07-24 21:15:46 · 294 阅读 · 0 评论 -
[leetcode26] Remove Duplicates from Sorted Array
Remove Duplicates from Sorted Array从有序数组中取出重复数字题目描述 Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra转载 2016-09-25 21:06:42 · 299 阅读 · 0 评论 -
[leetcode3] Longest Substring Without Repeating Characters
Longest Substring Without Repeating Characters最长不重复子串题目描述 Given a string, find the length of the longest substring without repeating characters. Examples: Given “abcabcbb”, the answer is转载 2016-09-18 21:41:20 · 329 阅读 · 0 评论 -
刷《剑指offer》的感受
刷《剑指Offer》的感受我的刷题感受因为大型公司笔试面试的需要,我决定开始慢慢刷题,每天累积一点,问了一些学长刷什么样的题目比较好,有些搞过ACM的学长建议leetcode,leetcode我看了一下,题目还是有一定的难度的,后来在牛客网上看到《剑指offer》,就开始在上面刷题了。牛客网上的《剑指offer》总共66题,我完成了63题,还有些题目比较古怪(能力有限),就不想做了,牛客网对于题目原创 2016-08-24 16:56:42 · 39945 阅读 · 2 评论 -
剑指offer 约瑟夫环问题
约瑟夫环问题题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下去原创 2016-08-03 11:22:09 · 972 阅读 · 0 评论 -
剑指offer 不用加减乘除做加法
不用加减乘除做加法题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。我的解答思路这道题目我是参考的别人的思路,这里我就直接搬运过来了,主要的思想就是本位相加和进位分离,本位和进位想加完毕后如果还有进位继续相加,没有则是最终的答案。下面这是别人的讲解,非常好。 首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。 第二步转载 2016-08-04 11:10:32 · 393 阅读 · 0 评论 -
剑指offer 矩阵中的路径
矩阵中的路径题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串”bcced”的路径,但是矩阵中不包含”abcb”路径,因原创 2016-08-15 20:56:37 · 374 阅读 · 0 评论 -
剑指offer 最小的K个数
最小的K个数题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。我的解答思路这道题目我是参考一个博客的,具体地址找不到了,这里我就说说现在我对这道题目的理解吧,这道题目核心就是递归,可能我们写过很多树的递归,遇到这种递归是束手无策,这道题目转载 2016-07-31 20:42:22 · 417 阅读 · 0 评论 -
剑指offer 树的子结构
树的子结构题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)我的解答题意这道题目我是在牛客网上做的,题目叙述过于简答,坑了我半天,我的理解是一棵树要成为另一棵树的子树,必须从相同的节点开始,下面都相同。但是题目是只要可以将子树映射到主树中就可以了,树的下面可以不同。详见我下面的这张图。 我的解答其实这道题目也没什么其他思路,是一道训练基本功的原创 2016-07-20 11:31:06 · 633 阅读 · 0 评论 -
剑指offer 二进制中1的个数
二进制中1的个数题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示我的解答这道题有四种解法,第一种就是笨方法,先算一个数的原码,然后取反得到反码,最后+1,得到补码。数1的个数就可以了,显然这个比较麻烦,在这里我们就不介绍了。我介绍《剑指offer》上面的两种方法:第一种,就是我注视掉的方法,拿输入的数和1按位与,这样可以判断出最后一位是不是1,这里大家可以举个例子试一下原创 2016-07-18 21:53:38 · 282 阅读 · 0 评论 -
剑指offer 替换空格
题目请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。代码#include<cstdio>#include<cstdlib>#include<iostream>using namespace std;class Solution {public: void replaceSpace原创 2016-07-06 21:43:16 · 338 阅读 · 2 评论 -
剑指offer 二叉搜索树与双向链表
二叉搜索树与双向链表题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。我的解答思路这道题目有一个关键的思想就是化繁为简,也就是将一个复杂的问题简单化,这里就是根节点连接到左子树最右边一个节点,同时将右子树连接到最左边一个节点。以此类推。这道题目我原来入了一个坑,就是自上而下建立双链表,建立到下面后出现指针混乱,所以这道题原创 2016-07-26 08:25:30 · 245 阅读 · 0 评论 -
剑指offer 重建二叉树
重建二叉树题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。我的解答首先先序和中序,中序和后序,中序和层次序可以唯一确定一颗二叉树,这里题目给的先序和中序,那么如何确定二叉树呢,首先是找到根,然后将左原创 2016-07-14 16:18:04 · 387 阅读 · 0 评论 -
[leetcode33] Search in Rotated Sorted Array
Search in Rotated Sorted Array在已经旋转的数组中搜索指定数字题目描述 Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given转载 2016-09-27 21:11:13 · 318 阅读 · 0 评论