C/C++常用函数 C++常用函数reverse逆序(反转)函数max_element() 找最大值abs() 绝对值函数distance() 计算元素个数INT_MAX/MIN 最大最小整型next_permutation() 数组全排列rand() 随机数函数srand() 初始化随机种子accumulate() 累加函数tolower() 大写字母转小写toupper() 小写转大写transform(first,last,result,op) 操作作用每个元素isalpha() 判断是否是字母isdigit() 判断是
查找与排序 查找与排序二分查找排序与Lambda 表达式二分查找有序数组或对时间复杂度的要求有 log,通常用二分查找。基本思路是每次取中间,如果等于目标即返回,否则根据大小关系切去一半,时间复杂度是O(logn),空间复杂度O(1)。0704. 二分查找35. 搜索插入位置【题目描述】给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。解答:int searchInsert(vect
回溯算法专题 方法区分回溯、深度优先搜索、分治法、递归以及动态规划之间经常搞不清楚。区分起来大概如下:分治法:分而治之,将问题拆分为具有较小规模的子问题,再将子问题的优化解合并,从而得到原问题的解。递归:简单来说就是自己调用自己,比如函数调用自身。递归通常涉及到压栈出栈等操作,可以看成是一种特殊的分治。动态规划:不仅具有优化子结构,而且子问题之间还要有重叠性。也就是说,动态规划不仅要满足分治法的条件,而且子问题之间往往还有交叉,比如爬楼梯问题和斐波那契数列,如果仍然采用分治递归的方法,往往会重复计算之前已经计算过
C++常用数据结构或技巧 链表链表(单链表)的基本操作及C语言实现链表中存放的不是基本数据类型,需要用结构体实现自定义:typedef struct Link{ char elem;//代表数据域 struct Link * next;//代表指针域,指向直接后继元素}link;next的值实际上就是下一个节点的地址,当前节点为末节点时,next的值设为空指针。像上面这种只包含一个指针域、由n个节点链接形成的链表,就称为线型链表或者单向链表,链表只能顺序访问,不能随机访问,链表这种存储方式最大缺点就是容易出现断链。
C++头文件与实用笔记 C++头文件加.h与不加.h,以及<>与""有什么区别?c++中囊括了c,所以区分一下c和c++的语法很有必要,先上结论:< >:表示引用标准头文件,头文件是系统路径,编译器会先在系统目录下搜索;" ":表示使用自己写的头文件,编译器会先在用户目录下搜索,找不到再从系统库环境中找不加 .h :如果使用的是新的C++标准库,不加 .h。例如#include <iostream>,编程时要加上命名空间加 .h :如果是自己写的头文件,是必须加.h的。编程时不用再加
python文件中的代码调用以及“__init__.py“ 文件说明 python文件中的代码调用以及"__init__.py" 文件说明如何调用另一个python文件中的代码同一文件目录下不同文件目录下"__init__.py" 文件说明简化模块导入操作偷懒的导入方法如何调用另一个python文件中的代码无论我们选择用何种语言进行程序设计时,都不可能只有一个文件(除了“hello world”),通常情况下,我们都需要在一个文件中调用另外一个文件的函数呀数据等等,总之要操作其他文件中的代码,在Java中,只要在同一个文件目录下,我们就不需要通过import导入,但是