LeetCode随笔
劲草浅躬行
笔落惊风雨不停,诗成泣鬼神经病
展开
-
LeetCode随笔之链表
输入两个链表,找出它们的第一个公共结点。/*找出2个链表的长度,然后让长的先走两个链表的长度差,然后再一起走(因为2个链表用公共的尾部)*/class Solution {public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { int p1Len=find...原创 2017-08-24 16:57:27 · 230 阅读 · 0 评论 -
LeetCode随笔之BFS广度优先搜索
(迷宫初级版)(迷宫进阶版)假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探险家的起始原创 2017-08-24 17:14:48 · 753 阅读 · 0 评论 -
LeetCode随笔之backtracking
LeetCode随笔之回溯原创 2017-09-05 14:54:48 · 306 阅读 · 0 评论 -
LeetCode随笔之栈
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 入栈1,2,3,4,5 出栈4,5,3,2,1 首先1入vector stack,此时栈顶1原创 2017-08-23 15:39:25 · 285 阅读 · 0 评论 -
LeetCode随笔之排序算法
快速排序void quicksort(int A[],int l,int r){ if(l<r) { int i=l; int j=r; int x=A[l]; //while循环保证把第一个数A提出来,把从右往左数的比A小的放到A的坑里; //把从左往右数比A大的放到右边空出来的坑里;原创 2017-09-06 17:42:02 · 260 阅读 · 0 评论 -
LeetCode随笔之Binary Tree(二叉树)
二叉搜索(排序)树建树及其他操作#include<stdio.h>#include<stdlib.h>typedef struct node{ double w; struct node *l,*r;}*Node;void Build(Node &rt,double a)//建树{ if(rt==NULL) { rt=new node;原创 2017-08-23 15:37:08 · 225 阅读 · 0 评论 -
LeetCode随笔之DFS深度优先搜索
Given an m x n matrix of non-negative integers representing the height of each unit cell in a continent, the “Pacific ocean” touches the left and top edges of the matrix and the “Atlantic ocean” touche原创 2017-08-24 21:50:37 · 438 阅读 · 0 评论 -
LeetCode随笔之Dynamic programming
一. Dynamic Programming 1. 牛牛在农场饲养了n只奶牛,依次编号为0到n-1, 牛牛的好朋友羊羊帮牛牛照看着农场.有一天羊羊看到农场中逃走了k只奶牛,但是他只会告诉牛牛逃走的k只奶牛的编号之和能被n整除。你现在需要帮牛牛计算有多少种不同的逃走的奶牛群。因为结果可能很大,输出结果对1,000,000,007取模。 例如n = 7 k = 4: 7只奶牛依次编号为0到6, 逃原创 2017-08-20 17:54:33 · 491 阅读 · 0 评论