- 博客(10)
- 收藏
- 关注
原创 算法---位运算
共一行,包含 n个整数,其中的第 i个数表示数列中的第 i个数的二进制表示中 11 的个数。给定一个长度为 n的数列,请你求出数列中每个数的二进制表示中 11 的个数。比如: x=1010 lowbit(x)=10。求某一个数二进制形式的最后一位的数是0还是1;lowbit(x):返回x的最后一位1。第二行包含 n个整数,表示整个数列。先把第k位移到最后一位 n>>k。语法:x&-x=x&(~x+1)n的二进制表示中第k位是几。然后看看个位是几 x&1。题目:求x里面1的个数。来就是:n>>k&1。
2024-03-06 18:36:53 366 1
原创 算法---双指针
输入一个字符串把其中的每一个单词输出出来,每一个单词是用空格隔开的。所以双指针的核心算法是将上面的朴素算法优化到O(n)时间复杂度O(n^2)双指针算法的核心思想。
2024-02-27 23:27:51 368
原创 蓝桥杯备考---二维前缀和
输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来q行,每行包含四个整数x1, y1, x2, y2,表示一组询问。过程中公式要记住,然后行列,nm在循环过程中的取值范围要弄好!接下来n行,每行包含m个整数,表示整数矩阵。对于每个询问输出子矩阵中所有数的和。−1000≤矩阵内元素的值≤1000。共q行,每行输出一个询问的结果。第一行包含三个整数n,m,q。
2024-02-21 23:58:40 377
原创 蓝桥杯备考---前缀和
接下来 m 行,每行包含两个整数 l 和 r,表示一个询问的区间范围。对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。接下来再输入 m 个询问,每个询问输入一对 l,r。过程中要注意下标是从1开始到n的,注意n要取到!第二行包含 n 个整数,表示整数数列。−1000≤数列中元素的值≤1000。输入一个长度为 n 的整数序列。第一行包含两个整数 n 和 m。共m行,每行输出一个询问的结果。
2024-02-21 21:43:31 338
原创 蓝桥杯day3---二分法
对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数)。第二行包含 n 个整数(均在 1∼10000 范围内),表示完整数组。给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。共 q 行,每行包含两个整数,表示所求元素的起始位置和终止位置。接下来 q 行,每行包含一个整数 k,表示一个询问元素。第一行包含整数 n 和 q,表示数组长度和询问个数。如果数组中不存在该元素,则返回 -1 -1。如果数组中不存在该元素,则返回 -1 -1。注意循环的嵌套 当时自己打的时候错了。
2024-02-12 03:06:22 498
原创 蓝桥杯备考day2---归并排序
第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输入样例: 5 3 1 2 4 5 输出样例: 1 2 3 4 5。请你使用归并排序对这个数列按照从小到大进行排序。输出共一行,包含 n 个整数,表示排好序的数列。给定你一个长度为 n 的整数数列。输入共两行,第一行包含整数 n。数据范围: 1≤n≤100000。并将排好序的数列按顺序输出。
2024-02-09 02:58:00 381 1
原创 蓝桥杯备考day1---快速排序
第二行包含 n 个整数(所有整数均在1~109109范围内),表示整个数列。请你使用快速排序对这个数列按照从小到大进行排序。输出共一行,包含 n 个整数,表示排好序的数列。输入共两行,第一行包含整数 n。给定你一个长度为n的整数数列。并将排好序的数列按顺序输出。
2024-02-08 21:23:03 549 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人