• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
sfesly
博客园 首页 新随笔 联系 订阅 订阅 管理

08 2015 档案

 
STL中的lower_bound和upper_bound的理解
摘要:STL迭代器表述范围的时候,习惯用[a, b),所以lower_bound表示的是第一个不小于给定元素的位置upper_bound表示的是第一个大于给定元素的位置。譬如,值val在容器内的时候,从lower_bound到 upper_bound表示的就是整个容器中与val相等的元素的位置了 阅读全文
posted @ 2015-08-08 09:38 sfesly 阅读(360) 评论(0) 推荐(0)
leetcode 221 Maximal Square
摘要:这题使用动态规划,基本想法是建立一张表table,table[i][j]就标志以点(i, j) 为右下角顶点的正方形最大边长,显然,可以通过table[i - 1][j - 1]来得到table[i][j]的值(正方形,只需要考虑对角的方向)。class Solution {public: i... 阅读全文
posted @ 2015-08-08 08:42 sfesly 阅读(221) 评论(0) 推荐(0)
LeetCode222 Count Complete Tree Nodes
摘要:对于一般的二叉树,统计节点数目遍历一遍就可以了,但是这样时间复杂度O(n),一下就被卡住了。这题首先要明白的是,我们只需要知道叶子节点的数目就能统计出总节点树。想法1: 既然是完全二叉树,我肯定是从左子树开始看,如果左子树不完整,右子树就不用再遍历了。由此形成一个递归的搜索过程,先搜索左子树,如果... 阅读全文
posted @ 2015-08-07 21:22 sfesly 阅读(372) 评论(0) 推荐(0)
在windows 、linux下读取目录下所有文件名
摘要:Windows要引入的头文件是主要是两个函数FindFirstFile、FindNextFileMSDN里是这么说的:FindFirstFile functionSearches a directory for a file or subdirectory with a name that matc... 阅读全文
posted @ 2015-08-07 19:24 sfesly 阅读(1367) 评论(0) 推荐(0)
leetcode 229 Majority Element II
摘要:这题用到的基本算法是Boyer–Moore majority vote algorithmwiki里有示例代码 1 import java.util.*; 2 public class MajorityVote { 3 public int majorityElement(int[] num... 阅读全文
posted @ 2015-08-05 20:11 sfesly 阅读(203) 评论(0) 推荐(0)
leetcode 233 Number of Digit One
摘要:这题属于需要找规律的题。先想一下最简单的情形:N = 10^n - 1记X[i]表示从1到10^i - 1中 1的个数,则有如下递推公式:X[i] = 10 * X[i - 1] + 10^(i - 1)这个递推公式可以这么观察得到:i =0,X[0] = 0i = 1,从1到9, X[1]= 1i... 阅读全文
posted @ 2015-08-04 09:58 sfesly 阅读(185) 评论(0) 推荐(0)
leetcode 238 Product of Array Except Self
摘要:这题看似简单,不过两个要求很有意思:1、不准用除法:最开始我想到的做法是全部乘起来,一项项除,可是中间要是有个0,这做法死得很惨。2、空间复杂度O(1):题目说明了返回的那个数组不算进复杂度分析里面做法:既然不用除法,对于某个数i, result[i] = 0到i - 1的乘积 X i + 1... 阅读全文
posted @ 2015-08-02 18:47 sfesly 阅读(195) 评论(0) 推荐(0)
leetcode 239 Sliding Window Maximum
摘要:这题是典型的堆排序算法,只是比一般的堆算法多了删除的操作,有两件事需要做:1 用一个hash表存储从输入数组索引到堆数组(用于实现堆的那个数组)所以的映射,以便在需要删除一个元素的时候能迅速定位到堆数组中的位置2用一个set保存已经被删除的元素索引(这里指的是输入数组索引),这一点可选;还有一种做法... 阅读全文
posted @ 2015-08-02 09:23 sfesly 阅读(218) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3