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

2014年9月14日

字节对齐的问题
摘要: 对于IA32指令,Linux沿用的对齐策略是:2字节数据类型的地址必须是2的倍数,而较大的数据类型(int, int*, float和double)的地址必须是4的倍数。Microsoft Windows对齐的要求更为严格--------任何K字节基本对象的地址都必须是K的倍数,K= 2, 4或者8... 阅读全文
posted @ 2014-09-14 10:51 sfesly 阅读(421) 评论(0) 推荐(0)
 
 

2014年9月11日

Combination Sum 和Combination Sum II
摘要: 这两道题的基本思路和combination那一题是一致的,也是分治的方法。其中combination Sum复杂一点,因为每个数可能用多次。仔细分析下,本质上也是一样的。原来是每个数仅两种可能。现在每个数有k +1中可能,k = target / i。所以就是把简单的if else 分支变成for循... 阅读全文
posted @ 2014-09-11 21:54 sfesly 阅读(175) 评论(0) 推荐(0)
 
Combinations
摘要: 组合数,这题的关键是不能漏解。第一感觉应该是分治法。这里,为了方便叙述,使用一个辅助函数vector> combhelper(int first, int last, int k);含义是从first 到last(左闭右开)的区间中选择K个数的组合数,我们倒过来看,最后一个数(last - 1)或者... 阅读全文
posted @ 2014-09-11 20:00 sfesly 阅读(200) 评论(0) 推荐(0)
 
 

2014年8月31日

算法导论 第六章 思考题6-3 Young氏矩阵
摘要: 这题利用二叉堆维持堆性质的办法来维持Young氏矩阵的性质,题目提示中写得很清楚,不过确实容易转不过弯来。a,b两问很简单。直接看c小问:按照Young氏矩阵的性质,最小值肯定在左上角取得,问题在于取出最小值后如何保持矩阵的性质。可以参照max_heapify中的做法,先取出最小值,然后将矩阵左上角... 阅读全文
posted @ 2014-08-31 16:56 sfesly 阅读(466) 评论(0) 推荐(0)
 
算法导论 第六章 思考题 6-3 d叉堆
摘要: d叉堆的实现相对于二叉堆变化不大,首先看它如何用数组表示。考虑一个索引从1开始的数组,一个结点i最多可以有d个子结点,编号从id - (d - 2) 到 id + 1。从而可以知道一个结点i的父结点计算方法为: (i + d - 2) / d。第二个问题是 一个含有n个元素的d叉堆的高度,就是一个简... 阅读全文
posted @ 2014-08-31 11:07 sfesly 阅读(558) 评论(0) 推荐(0)
 
算法导论 第六章 思考题 6-1 用插入的方法建堆
摘要: BUILD-MAX-HEAP'(A) heap-size[A]<-1 for i <- 2 to length[A] do MAX-HEAP-INSERT(A, A[i])如上,题目给出一种使用插入的办法建堆的算法,而书中6.4节给出的建堆算法如下:BUILD-MAX-HE... 阅读全文
posted @ 2014-08-31 09:35 sfesly 阅读(1035) 评论(0) 推荐(1)
 
 

2014年8月30日

Binary Tree Maximum Path Sum
摘要: 这道题一眼看上去就是一个递归的算法,对于一棵树,分三种情况,包括根、仅左子树、仅右子树,递归的确认最大值,其中第一种情况(路径中包含根)分析可知它会一直包含根,后两中就复杂点,需要一直递归处理每颗子树。代码如下:int maxPathSumWithRoot(TreeNode *root) { if ... 阅读全文
posted @ 2014-08-30 21:02 sfesly 阅读(222) 评论(0) 推荐(0)
 
 

2014年8月22日

leetcode candy
摘要: 这道题折腾了好久,一开始想复杂了。比较好理解的一个方法是通过两次遍历。注意到一个事实:只有当当前孩子比旁边孩子高的时候才会要求比他更多的糖,而这个比当前孩子矮的孩子既有可能来自左边,也有可能来自右边。也就是说,左右两边的孩子都会对当前孩子做出限定。当每个孩子既能满足左边孩子的限定又能满足右边孩子的限... 阅读全文
posted @ 2014-08-22 20:29 sfesly 阅读(245) 评论(0) 推荐(0)
 
 
上一页 1 ··· 9 10 11 12 13

公告


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