排序
【C】使用函数递归实现顺序数组二分查找
#include <stdio.h> int BinarySearch(int r[],int low,int high,int k){ int mid; if (low>high){ //若找不到,则返回-1,这也是递归终止条件 return -1; } else{ mid=(low+high)/2; //在顺...
【算法】【Pyhton】走迷宫-广度优先搜索BFS求解最短路径
本文介绍利用广度优先搜索(BFS)算法求解迷宫最短路径的Python实现。通过读取用户输入的迷宫矩阵和起止坐标,程序使用队列结构逐层扩展探索路径。每次从队列取出当前坐标后,会向上下左右四个...
【深进1.例1】求区间和
题目描述 给定 $n$ 个正整数组成的数列 $a_1, a_2, \cdots, a_n$ 和 $m$ 个区间 $[l_i,r_i]$,分别求这 $m$ 个区间的区间和。 对于所有测试数据,$n,m\le10^5,a_i\le 10^4$ 输入格式 第一行,为...
【深基2.习6】Apples Prologue / 苹果和虫子
题目描述 八尾勇喜欢吃苹果。她现在有m(1<=m<=100)个苹果,吃完一个苹果需要花费 t(0<=t<=100)分钟,吃完一个后立刻开始吃下一个。现在时间过去了s(1<=s<=10000)分钟,...
【算法】【Python】能否构成回文字符串
检测一个字符串能否通过在头部加入指定的字符从而形成回文串。优化代码时避免了字符串拼接,通过双指针技术判断是否可以通过向字符串头部插入字符形成回文。优化后的代码仅检查尾部字符是否可以...
【C】使用函数递归实现二分查找数组最大值
#include <stdio.h> //二分查找最大值 int Max(int r[],int low,int high){ int mid,maxL,maxR; if (low==high){ return r[low]; } else{ mid=(high+low)/2; maxL=Max(r,low,mid); maxR=Max(...
【算法】【Python】蓝桥杯Python组比赛技巧
本文介绍了Python在蓝桥杯比赛中的常用技巧,包括序列翻转、数字进制转换、数学表达式解析、自定义排序、遍历序列、数据结构操作、组合与排列生成、双端队列、阶乘计算、日期处理、字符计数、有...
【递归】斐波那契数
#include<iostream> using namespace std; int fib(int n){ if (n<2){ return n; } return fib(n-1) + fib(n-2); } int main(){ int n; cin >> n; cout << fib(n); return 0; } 数...
【C】二维数组每行冒泡排序
void sort2D(int arr[][cols], int rows, int cols) { int temp; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols - 1; j++) { for (...
【C】合并有序数组
#include <stdio.h> int main(){ int M,N; int a[]={1,3,5,6,8},b[]={1,2,5,7,8,9}; M=sizeof(a)/sizeof(a[0]); N=sizeof(b)/sizeof(b[0]); int c[M+N]; int i=0,j=0,k=0; //当有任何一个数...
【模拟】二进制求和
#include <iostream> using namespace std; string addBinary(string a, string b){ string res; int carry = 0; // 进位 int i = a.size() - 1; int j = b.size() - 1; while(i >= 0 || j...