摘要:
二分查找 例题 34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode) (leetcode-cn.com) 二分查找模板 第一种 //第一个大于等于target的位置int bina1(vector<int> & n , int tar){ int l=0 ,r=n.siz 阅读全文
摘要:
哈希表是可以减少时间复杂度的。 因为哈希表物理结构是数组,在没有冲突的情况下,查找时间是O(1),建表时间可能是O(n)。 为什么把普通数组换成hash表就能减少复杂的呢 例如 //数组形式 for(int i=0;i<n;++i) for(int j=0; j<n;++j) printf ( nu 阅读全文
摘要:
1. 枚举子集 unsigned int s; for(int n=s;n ;n=(n-1)&s) printf(n); printf(n); 2.找出重复次数奇偶性不同的数字 例如2串数字,除x外完全相同,但第2串数字添加了一个x,找出x; 连续异或运算性质: a ^ a= 0 0 ^ a =a 阅读全文
摘要:
1.Anaconda Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。 2.常用命令 1. 安装 下载anaconda安装的python直接可以使用conda工具 2. 创建虚拟环境 阅读全文
摘要:
1。朴素方法 有 NN 种物品和一个容量是 V的背包。 第 ii 种物品最多有 si件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。 可以拆分成 0-1 背包问题 把 s件 i 物品 ,视为 s个 不同的物品 全部初始化为零 阅读全文
摘要:
作为dp问题有代表的一种,对背包问题做笔记,抽象为一批背包问题。 1。问题描述 01背包问题 有 NN 件物品和一个容量是 VV 的背包。每件物品只能使用一次。 第 ii 件物品的体积是 vivi,价值是 wiwi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大 阅读全文
摘要:
1.关联容器类型 map 保存{关键字,值}对的顺序容器 unordered_map 不会进行自动排序,用hash函数组织 multimap 这两个的关键字可以重复出现,不会合并 unordered_multimap 2. 初始化 1.空的容器 map<string,int> word_count 阅读全文
摘要:
刷题时候遇到了一个 两区间重合判定问题,写出了bug ,是因为思路不清楚,想明白以后总结一下。 给出[ a,b] , [c, d ] 两个闭区间 判断是否存在重合的部分 两区间的分布一共有六种情况, 其中四种有重合,四种分离,因此可以正向反向两种思路 。 1.正向判断 四种情况分别是 区间ab包含区 阅读全文
摘要:
在做leetcode时总是用到各种容器,总是忘记个别的细节,这里试着以需要的功能为点,总结一下各种容器。 vector 可增长的数组 初始化: 1. 空的容器 vector<int> vec; 2. 10个值初始化的元素 vector<int> vec (10);// int 类型会被初始化为 0; 阅读全文
摘要:
一句话来说,方向导数是一个方向的射线,偏导数是两边逼近的直线(本质是一元导数) 1.定义 偏导数 : 方向导数: 2.特例 z= √(x2+y2) ,延 ei=(1,0)方向 的方向导数为 1, 但偏导数不存在。 阅读全文