自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

关于学习本身

很久不在

  • 博客(6)
  • 问答 (1)
  • 收藏
  • 关注

原创 leetcode-Longest Substring Without Repeating Characters-3

找出字符串的最长不重复子串的长度 直观的做法是枚举以每个元素为开头的最长不重复子串,更新长度,时间复杂度是ON^2,空间O1 更高效的做法:用一个hash表保存每个字符最后出现的下标,用一个指针i,表名当前最长不重复子串的首位置,遍历字符串,在hash表中找到当前字符最后一次出现的位置记为k,如果k>=i,说明当前字符在当前最长不重复子串中出现过了,那么更新i和hash[s[j]]。只需遍历一遍

2016-08-29 00:10:16 585

原创 leetcode-Reverse Bits-190

输入一个无符号整数,求按位逆向之后的结果。位运算class Solution { public: uint32_t reverseBits(uint32_t n) { int ans=0; for(int i=1;i<=32;i++){ ans<<=1; if(n&1) ans++; n>

2016-08-28 22:15:21 633

原创 leetcode-House Robber-198(dp)

输入一个数组,每个元素代表每个房子的价值,不能抢相邻的两个房子,求抢劫的最大值 和这道二叉树的树形dp是一个系列: http://blog.csdn.net/AC_0_summer/article/details/52210957 也是维护两个dp,dp1[i]表示抢第i个房子,dp2[i]表示不抢第i个房子; dp1[i]=dp2[i-1]+nums[i];dp2[i]=max(dp1[i

2016-08-28 22:02:23 646

原创 leetcode-Best Time to Buy and Sell Stock-121

a[i]代表第i天商品的价格,问如果我买入一次再卖出一次,能得到的最大利润。 直观的做法是二重循环,枚举第i天买入,然后枚举大于第i天卖出,计算利润更新最大值。 利用贪心思想可得线性做法:假设第i天买入,那么肯定选第i天以后商品价格最大的那天卖出,因此从后往前遍历,更新最大的价格,同时减去当前价格就是当天买入能得到的最大利润,只需遍历一遍。class Solution { public:

2016-08-27 21:08:23 613

原创 leetcode-House Robber III-337(树形dp)

The thief has found himself a new place for his thievery again. There is only one entrance to this area, called the “root.” Besides the root, each house has one and only one parent house. After a tour,

2016-08-15 14:36:05 1017

原创 滑动窗口的最大值

给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5} 典型的单调队列题目,移动的固定区间求最值。 本题维护一个递减的单调队列(双端队列),注意单调队列维护的是数组的下标,也就是位置,这样才能记录窗口外的(生命周期结束)元素,将它们移出队列;即

2016-08-08 18:25:12 1251

空空如也

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

TA关注的人

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