二分法(算法)


https://blog.csdn.net/qq_36102055/article/details/104375766https://www.acwing.com/solution/content/107848/https://www.acwing.com/problem/content/791/

二叉堆


二叉堆堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节点比子节点大(或小)。当根节点保存堆中最大值时,称为大根堆;反之,则称为小根堆。二叉堆(Binary Heap)是最简单、常用的堆,是一棵符合堆的性质的完全二叉树。它可以实现O(logn)O(logn)O(logn)地插入或删除某个

算法-快速幂


快速幂递归快速幂写成代码是这样的:package cn.meowrain;public class Main {public static void main(String[] args) {int n = 7;System.out.println(qpow(2, n));}static int q

试除法判定质数


一个数 x 分解成两个数的乘积,则这两个数中,一定有一个数大于根号 x,一个数小于根号x。所以,可以用 x 除以 2 ~ 根号x 中的每个数,如果出现了余数为 0,则这个数不是质数,如果没有出现余数为 0,则这个数是质数。#include <iostream>#include <a

c语言qsort方法使用


#include <stdio.h>#include <stdlib.h>int cmp(const void *a,const void *b){// return *(int*)a-*(int*)b; //正序 从小到大// return *(int*)b-*

Leetcode-704. 二分查找


Leetcode-704. 二分查找C语言题解int search(int* nums, int numsSize, int target){ int index = binarySearch(nums,0,numsSize-1,target); return index;}int bi

选择排序使用


#include <iostream>using namespace std;void select_sort(int a[],int length){ for(int i = 0;i<=length-1;i++){ for(int j = i+1;j<=

算法-前缀和,差分


https://www.acwing.com/problem/content/797/#include <iostream>using namespace std;const int N = 100010;int n, m;int a[N], s[N];int main(void){

算法-高精度减法


#include <iostream>#include <vector>#include <cstdio>using namespace std;//判断A是不是大于Bbool cmp(vector<int> &A, vector<int

算法-高精度加法


/*高精度加法案例 129+ 12------- 141*/#include <iostream>#include <vector>using namespace std;vector<int> add(vector<int> &A, v