排序:
默认
按更新时间
按访问量

LRUCache详解

Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and put. get(key) - Get t...

2018-08-26 16:27:20

阅读数:31

评论数:0

链表环问题总结

1.Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using extra space? 判断一个链表是否有环 思路:通过定义一个fast指针初始指向头节点...

2018-08-26 15:23:33

阅读数:36

评论数:0

旋转数组问题总结

1.Suppose an array sorted in ascending order 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,...

2018-08-26 12:27:40

阅读数:49

评论数:0

回溯

       在回溯中,递归调用的一个重要特征是要返回。回溯法是暴力解法的一个主要实现手段。在回溯法中通过剪枝,不用到达所有的叶子节点,从而提升算法的效率。 1.17. Letter Combinations of a Phone Number Given a string containin...

2018-07-30 22:19:59

阅读数:30

评论数:0

字符串

  1.请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路:类似数组的双索引。 class Solution { public: void replaceSpace(char...

2018-07-21 16:22:12

阅读数:43

评论数:0

递归

1、求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)class Solution { public: int Sum_Solution(int n) { int ans = n; ...

2018-07-10 22:25:22

阅读数:27

评论数:0

数组2

剑指offer数组题 1.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 class Solution { public: bool Find(int target...

2018-07-09 17:48:58

阅读数:35

评论数:0

队列、栈

1、用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution { public: void push(int node) { stack1.push(node); } int pop() { ...

2018-07-07 16:43:19

阅读数:29

评论数:0

1.重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 /** * Definition f...

2018-06-26 22:38:36

阅读数:42

评论数:0

动态规划之三:最长上升子序列与最长公共子序列问题

一.最长上升子序列1.定义LIS(i):表示以第i个数字为结尾的最长上升子序列的长度LIS(i):表示在[0...i]的范围内,选择数字nums[i]可以获得的最长上升子序列的长度LIS(i) = max(1 + LIS(j)) (i > j)2.例题300. Longest...

2018-06-14 08:18:24

阅读数:71

评论数:0

动态规划之二:0/1背包问题

一、0/1背包问题定义有一个背包,它的容量为C(Capacity)。现在有n种不同的物品,编号为0...n-1,其中每一件物品的重量为w(i),价值为v(i)。问可以向这个背包中盛放哪些物品,使得在不超过背包容量的基础上,物品的总价值最大。F(n, C):考虑将n个物品放进容量为C的背包,使得价值...

2018-06-09 17:39:27

阅读数:41

评论数:1

动态规划之一:基本思想

一.基本思想一般来说,只要问题可以划分为规模更小的字问题,并且原问题的最优解中包含了子问题的最优解,则可以考虑用动态规划解决。动态规划的实质是分治思想和解决冗余。因此,动态规划是一种将问题实例分解为更小的/相似的子问题,并存储子问题的解,使得每个子问题只求解一次,最终获得原问题的答案,以解决最优化...

2018-06-03 23:09:17

阅读数:82

评论数:0

贪心算法

455. Assign CookiesAssume you are an awesome parent and want to give your children some cookies. But, you should give each child at most one cookie. ...

2018-06-01 22:49:30

阅读数:43

评论数:0

链表

一、测试链表程序 介绍如何创建,打印,删除链表程序。 #include<iostream> using namespace std; struct ListNode { int val; ListNode *next; ListNode(...

2018-03-12 15:44:00

阅读数:203

评论数:0

数组

一.双重索引 283 remove zeros 思考细节:  `如何定义删除?从数组中去除?还是放在数组末尾? `剩余元素的排列是否要保证原有的相对顺序? `是否有空间复杂度的要求?O(1) 思路: 定义新的索引k,保存删除指定元素后的新的元素的位置。 class Solution { publ...

2017-11-13 16:02:44

阅读数:192

评论数:0

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