Skip to content

leetsura/algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

algorithm

prepare for pat

TODO

  • B1008-数组元素循环右移问题,算法必须满足移动次数最少。
  • B1018-使用更简便、直观的算法去实现该题。
  • chapter3/ErrorCode/B1027.cpp,测试点2、3未通过,未找到原因

未熟练掌握的章节及习题

1、第四章-贪心

A1033

2、第四章-二分

A1085、A1010、A1044

3、第五章-最大公约数与最小公倍数

B1008(移动次数最少解法)

4、第五章-扩展欧几里得算法

仅看过了解、未深入理解及编码

5、第五章-组合数

仅看过了解、未深入理解及编码

知识点随笔

  • 在计算机组成原理中会指出,两个正数之和等于负数或是两个负数之和等于正数,那么就是溢出。
  • 如果数组大小较大(大概10^6级别),则需要将其定义在主函数外面,否则会使程序异常退出。 原因是函数内部申请的局部变量来自系统栈,允许申请的空间较小;而函数外部申请的全局变量 来自静态存储区,允许申请的空间较大。
  • Quadratic probing(二次方探查法),即当H(a)发生冲突时,让a按a+1^2,a-1^2, a+2^2,a-2^2,a+3^2,a-3^2···的顺序调整a的值;如果说明只往正向解决冲突,那么 只需要按a+1^2,a+2^2,a+3^2···的顺序调整a的值。
  • 如果要求一个正整数N的因子个数,只需要对其质因子分解,得到各质因子Pi的个数分别为e1,e2,...ek, 于是N的因子个数就是(e1 + 1) * (e2 + 1) * ... * (ek + 1)。原因是,对每个质因子Pi都可以 选择其出现0次、1次、...、ei次,共ei+1中可能,组合起来就是答案。由同样的原理可知,N的所有因子 之和为(1 + P1 + P1^2 + ... + P1^e1) * (1 + P2 + P2^2 + ... + P2^e2) * ... * (1 + Pk + Pk^2 + ... + Pk^ek)。(笔记P169)
  • Cm n =Cm n-1 + Cm-1 n-1(排列组合)

未完全通过的题目及原因

  • A1029(chapter4/TwoPointers/A1029.cpp)-最后一个测试点内存超限
  • A1055(chapter4/Sort/A1055.cpp)-测试点超时,总正确率0。

About

prepare for pat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages