C++ Python
文章平均质量分 53
一 方
没有专一 坚持 何谈远方!
展开
-
10Leetcode---find over half
一. 题目已知:数组中有一个数字出现的次数超过了数组长度的一半,求:出这个数 思路:算法时间复杂度O(n),另外需要两个辅助变量 tmp count, 其中tmp:临时存放数组中的数据, count用于存储某个数出现次数。开始 tmp存储数组的第一个数, count=0 若数组出现的数==tmp count++ 否则count-- 若count==0,把当前数组中的值赋给t...原创 2018-10-07 22:02:20 · 140 阅读 · 0 评论 -
11Leetcode---二叉树最大路径和
题目:Given a binary tree, find the maximum path sum.The path may start and end at any node in the tree.For example: Given the below binary tree, 1 / \ 2 3Return 6.思路:首先我们分析一下对于指定某个节点为根时,最大的...原创 2018-11-20 12:25:01 · 405 阅读 · 0 评论 -
12Leetcode---队列实现栈&栈实现队列
栈和队列相互实现栈是一种先进后出的数据结构(FILO---First in/Last out)栈的相关方法: 入栈, s.push(x) 出栈, s.pop() 访问栈顶, s.top() 访问栈中元素个数, s.size() 判断栈空, s.empty()队列是一种先进先出的数据结构( FIFO---First in Fir...原创 2018-11-20 14:21:32 · 106 阅读 · 0 评论 -
数据结构&算法基础01---两栈实现一队列,两队列实现一栈
1 两栈实现一队列---s2实现出队 思路: 入队时,直接压入stack1中 出队时,判断stack2是否为空,如果stack2为空,则将stack1中的元素转移到stack2中,then再将stack2的栈顶元死弹出; ...原创 2018-12-27 21:52:35 · 130 阅读 · 0 评论 -
判断一个二叉树是否是对称树
分析:如果一颗树的左子树和右子树镜像对称,那么这棵树一定时对称二叉树 《=====》问题转化为两颗树,在满足什么条件时,互为镜像;条件两个: 1 它们两个的跟节点具有相同的值; 2 每颗树的左子树与每颗树的右子树相同;二叉树 [1 2 2 3 4 4 3] 是对称二叉树 ...原创 2019-03-12 21:36:33 · 679 阅读 · 0 评论 -
09Leetcode---Generate parentheses
一. 题目 n表示生成括号的对数,请写一个函数,输入n,产生所有可能且有效的括号组合 例如 n=3 生成结果: [ “((()))”, “(()())”, “(())()”, “()((...原创 2018-10-07 19:07:49 · 159 阅读 · 0 评论 -
08Leetcode---valid palindrome
一. 题意Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example,"A man, a plan, a canal: Panama" is a palindrome."race a car" is not a...原创 2018-09-13 17:01:48 · 126 阅读 · 0 评论 -
02Leetcode-climbStairs
题意:有n级楼梯,你一次可以爬一级或两级,问爬上n级楼梯有多少种爬法。分析: n 表示楼层 f(n) 表示 到达n层一共有多少种方法 n=1 f(1)=1 [1] n=2 f(2)=2 [1 1] [2] n=3 f(3)=3 [1 1 1] [1 2] [2 1] n=4 f(4)=5 [1 1 1...原创 2018-08-29 19:59:53 · 201 阅读 · 0 评论 -
03Leetcode-Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.题意:合并两个有序链表 思路:首先判断l1和l2的null情况,可直接return,接着初始化他的首节点为l1...原创 2018-08-29 20:31:26 · 110 阅读 · 0 评论 -
04Leetcode-MergeSortedArray
Given two sorted integer arrays A and B, merge B into A as one sorted array.Note: You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. ...原创 2018-08-29 21:14:03 · 112 阅读 · 0 评论 -
05Leetcode---threeSum
题意:从一个数组中找到三个数,使这三个数的和为0。有可能存在多组解,也有可能存在重复的解,所以需要去重。比如:num=[-1,0,1,2,-1,-4];那么存在两组解:[[-1,0,1],[-1,-1,2]],解中的数需要是从小到大排序状态。步骤:1. 先将数组排序。 2. 按照TwoSum的思路来解题。怎么解呢?将num[i]的相反数即-num[i]作为target,然后从i+1到l...原创 2018-08-29 22:12:04 · 182 阅读 · 0 评论 -
06Leetcode--valid parentheses
现有一串(,),[,],{,}的字符串s。要判断这串字符串是不是一串有效的组合。如[]{()}是遗传有效的组合。[)[]}是一串无效的组合。这个问题的解法不难,只要用一个stack就可以了,我们把s里面的字符一个一个过一遍。主要分为2种情况1 如果我们遇到 ( [ { 里面的一个,我们就把这个字符放入stack里面。2 如果我们遇到 ) ] } 里面的一个,我们就把这个字符和st...原创 2018-09-04 17:43:33 · 104 阅读 · 0 评论 -
07Leetcode---pow( x, n)
Pow( x, n) 求x的n次幂两种方法:方法1. 让i初始化为n,然后看i是否是2的倍数,是的话x乘以自己,否则res乘以x,i每次循环缩小一半,直到为0停止循环。最后看n的正负,如果为负,返回其倒数,参见代码如下:double mathPow(double x, int n){ double res = 1.0; for(int i = n; i!=0 ;i /...原创 2018-09-04 18:46:58 · 307 阅读 · 0 评论 -
01Leetcode-TwoSum
题目描述:Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution. Example: Given nums ...原创 2018-08-29 19:23:27 · 120 阅读 · 0 评论