![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
第六帅
哈喽
展开
-
《算法导论》:动态规划学习笔记
参考资料:《算法导论》 动态规划 1.钢条切割问题 一个长度为n的钢条,n为整数,切割为多个长度仍为整数的子钢条,每种长度的钢条价格不一,有一个记录每种长度的钢条价格的价格表p, 求最优切割方案 由条件可以推导出以下结论 如果长度为n的钢条价格足够高,则无需切割 共有2n−12^{n-1}2n−1种不同的切割方案,切割数目m从0到n,每种数目对应Cn−1mC_{n-1}^mCn−1m种方法...原创 2020-03-27 16:02:03 · 212 阅读 · 0 评论 -
Leetcode解题笔记:题1~3
题目 原题地址 复述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例:给定 nums = [2, 7, 11, 15], target = 9,则返回[0,1] 分析 ...原创 2019-04-27 23:33:26 · 204 阅读 · 0 评论 -
Leetcode解题笔记:题4~6
以下题目来自Leetcode,中文网站:https://leetcode-cn.com/ 4- 寻找两个有序数组的中位数 思路:解决这个问题最先想到的就是归并排序中用到的思想,对于两个有序的数组(链表、容器),只要依次比较最前面的两个元素,将较小者存入第三个数组,同时该数所在数 ...原创 2019-04-30 10:11:52 · 127 阅读 · 0 评论 -
Leetcode解题笔记:题7~9
7.整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 第七题以及后面的第八题都涉及一个核心问题:字符串转数字的溢出判断。反转数字的算法很简单,关键是在反转的同时防止溢出。 这个问题我在另一篇博客里写过:防止溢出 需要注意的是对于正数和负数的处理略有不同,因为 INT_MIN 和 INT_MAX 的绝对值并不是相等的,INT_MIN的绝对值大1。 int rev...原创 2019-05-11 11:50:15 · 129 阅读 · 0 评论 -
不借助第三个临时变量交换两个数的值:位运算笔记
使用位运算交换两个数的值 void swap(int *x, int *y){ //假设原始数据x=a,y=b *y = *x ^ *y;//此时x=a不变, y=a^b *x = *x ^ *y;//此时x=a^a^b=b, y=a^b不变 *y = *x ^ *y;//此时x=b不变, y=b^a^b=a } 其中^表示按位bool运算: “EXCLUSIVE-OR异或”,具有性质: ...原创 2019-07-04 14:32:06 · 397 阅读 · 0 评论