摘要: 背包问题: 又是经历了一个非常痛苦的阶段,终于解决了一个非常简单而经典的动态规划问题。 问题描述: 一个旅行者随身带一个背包。可以放背包的物品有n种,每种物品的重量和价值分别为w和v。背包的最大重量限制是b,每种物品可以放多个,怎么放可以使背包价值最大? 思路: 1. 这一道问题属于线性规划问题:由 阅读全文
posted @ 2016-09-04 01:22 whaochen 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 投资问题: 问题描述:有m元钱,投资给n的项目,f(x): 将x元投入到第i个项目中的效益。求使得总效益最大的投资方案。(这道题太不容易了,这是我第一次没有看答案做出了动态规划的问题,应该是花了三个小时)。 建模:问题的解是向量<x1,x2,xn> 目标函数:max{f1(x1)+f2(x2)+fn 阅读全文
posted @ 2016-09-03 06:22 whaochen 阅读(665) 评论(1) 推荐(1) 编辑
摘要: 众所周知,在面试中最难,也是大公司最容易考的就是动态规划,所以今天打算开撕动态规划,之前只是对于单个的题目知道解法,不过时间一久就忘记了,今天开始要彻底的理解方法论再到实践,希望老天保佑能够一周搞定! 一.通过一个小例子了解方法论: 一个例子,如上图: 求从起点到终点的最短路径: 这是一道最基本的动 阅读全文
posted @ 2016-09-03 01:21 whaochen 阅读(1064) 评论(0) 推荐(0) 编辑
摘要: 标签: 位运算 描述: Given two 32-bit numbers, N and M, and two bit positions, i and j. Write a method to set all bits between i and j in N equal to M (e g , M 阅读全文
posted @ 2016-09-02 13:08 whaochen 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 标签: 位运算 描述 Write a function that add two numbers A and B. You should not use + or any arithmetic operators. 解题思路: 利用位运算来解决A+B的问题,可以将此问题转化为解决不进位相加和进位(c 阅读全文
posted @ 2016-09-02 11:14 whaochen 阅读(3901) 评论(0) 推荐(0) 编辑
摘要: 标签: 位运算 描述: Count how many 1 in binary representation of a 32-bit integer. 解题思路: 统计一个int型的数的二进制表现形式中1的个数1.与check power of 2中的解题形式非常相似,同样利用num&(num-1) 阅读全文
posted @ 2016-09-02 10:55 whaochen 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 标签: 位运算 题目: Using O(1) time to check whether an integer n is a power of 2. 解题思路: 这道题是利用位运算判断一个数是不是2 的整数次方思路:1. 如果一个数是2的整数次方的话,那么他的二进制表现形式上只有一位是1,其余的都会 阅读全文
posted @ 2016-09-02 10:45 whaochen 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Flip Bits: 标签:位运算 题目:Determine the number of bits required to flip if you want to convert integer n to integer m. 解题思路: 给出两个数字a和b,返回两个数字中需要转换的内容这道题主要是 阅读全文
posted @ 2016-09-02 10:41 whaochen 阅读(213) 评论(0) 推荐(0) 编辑