二分查找和冒泡排序和数组练习(多个字符从两端移动,向中间汇集)

2026 大厂面试高频题解:Java 并发与底层 + AI 工程 + 算法 LeetCode 高频 12 题【每题带面试官视角、完整解答与追问链路】 本文聚焦2026大厂Java岗面试核心三科:Java底层与并发、AI工程、算法,精选12道高频真题,以“面试官视角→完整解答→复杂度分析→追问链路”结构精讲。涵盖HashMap原理、ConcurrentHashMap线程安全机制、线程池配置策略、synchronized与ReentrantLock对比、RAG链路设计、幻觉治理、Function Calling安全规范、微调与RAG选型决策,以及反转链表、层序遍历等经典算法手撕题。文末附30天冲刺计划,助你高效通关大厂面试。 阅读详情

多个字符从两端移动,向中间汇集

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
////多个字符从两端移动,向中间汇集
////********************
////w******************!
////we****************t!
////wel**************it!
////welc************bit!
////welco********** bit!
////welcom********o bit!
////welcome******to bit!
////welcome **** to bit!
////welcome c**e to bit!
////welcome come to bit!
//int main()
//{
//
//	//先列出最开始和最后的结果
//	 char arr1[] = "welcome come to bit!";
//	 char arr2[] = "********************";
//	int left = 0;
//	int right = strlen(arr1) - 1;
//	printf("%s\n", arr2);
//	while (left <= right)
//	{
//		Sleep(1000);
//		arr2[left] = arr1[left];
//		arr2[right] = arr1[right];
//		left++;
//		right--;
//		printf("%s\n", arr2);
//	}
//return 0;
//}

二分查找

//二分查找
int main()
{

	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int left = 0;
	int right = sizeof(arr) / sizeof(arr[0]) - 1;
	int key = 7;
	int mid = 0;
	int find = 0;
	while (left <= right)
	{
		mid = (left + right) / 2;
		if (arr[mid] > key)
		{
			right = mid - 1;
		}
		else if (arr[mid] < key)
		
			{
				left = mid - 1;
			}
		else
		{
			find = 1;
			break;
		}
	}
	if (1 == find)
	{
		printf("找到了,下标是%d\n",mid);
	}
	else
		printf("找不到了");
	return 0;
}

冒泡排序

冒泡排序就是一种排序算法,本质就是通过比较2个相邻元素的大小,把较大的元素逐渐交换到数组的最末尾。

1.从数组的第一个元素开始,与相邻元素比较

2.前一个元素大于第二个元素,将2个元素进行交换

3.进行第二步的2个元素(此时第二个数是较大的数),用第二个元素和第三个元素比较,重复执行第二步

3 1 7 5 8 9 0 2 4 6

1 3 7 5 8 9 0 2 4 6

1 3 7 5 8 9 0 2 4 6

1 3 5 7 8 9 0 2 4 6

1 3 5 7 8 9 0 2 4 6

1 3 5 7 8 9 0 2 4 6

 1 3 5 7 8 0 9 2 4 6

1 3 5 7 8 0 2 9 4 6

1 3 5 7 8 0 2 4 9 6

//冒泡排序

void bubble_sort(int arr[], int sz)
{
	int i = 0;
	
	for (i = 0; i < sz - 1; i++)
	{
		int flag = 0;
		int j = 0;
		for (j = 0; j < sz - 1; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	if (flag == 1)
		break;
     }
}

int main()
{

	int arr[] = { 3,1,7,5,8,9,0,2,4,6 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	bubble_sort(arr, sz);
	for (int i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

LangChain + Milvus Lite:从零搭建本地RAG知识库 本文详细介绍了如何利用LangChain、Milvus Lite和gte-large-zh模型,在本地从零搭建一个完整的RAG知识库系统。文章涵盖了环境配置、文档处理与向量化、本地向量库构建以及检索问答实现的全流程,重点突出了完全本地化部署带来的数据隐私安全和成本优势,为开发者提供了一条实践性极强的技术路径。 阅读详情

相关推荐

金融科技数据源

数字金融开放研究平台

平平淡淡,戒急用忍,一生学闭嘴。 1725

Github 标星 3w+,登顶热榜Top1,使用 Python实现所有算法!

点击上方"肉眼品世界",星标公众号回复666,与1000名中国CTO在一起学会了Python基础知识,想进阶一下,那就来点算法吧!毕竟编程语言只是工具,结构算法才是灵魂。...

weixin_45727359的博客 420

【YOLO系列】YOLOv4详解:模型结构、损失函数、训练方法及代码实现

摘要:YOLOv4在目标检测领域实现了精度与速度的平衡,通过CSPDarknet53骨干网络、SPP+PANet特征融合及CIoU损失函数等创新,在MS COCO数据集达到65.7% AP50,V100显卡实现62FPS实时检测。核心优化包括Mosaic数据增强、自对抗训练和解耦头结构,显著提升小目标检测和遮挡场景鲁棒性。代码实现采用CSP模块和SPP多尺度池化,兼顾计算效率与检测性能,为工业落地提供高效解决方案。(149字)

一碗白开水一 1355

如何通过代码问题挑战提升编程技能:多语言算法实战指南

想要在技术面试中脱颖而出?正在寻找系统性的编程训练方法?**代码问题挑战(Code Problems)** 是一个包含丰富编程问题和多语言解决方案的开源项目,专门为程序员提供算法实战训练平台。这个项目汇集了面试中常见的各种算法问题,并提供了C、Java、Python、JavaScript等10多种编程语言的实现方案,帮助你全面提升编程能力和算法思维。 ## 📊 项目概览与核心价值 **代码问

gitblog_00005的博客 743

宇树 Qmini 双足机器人完全开源:3D打印+5小时组装,新手也能玩转!

教育教学,成为学校里的竞赛竞技,实验课程,论文设计的本体;开发者可以根据开源资料轻松集齐所有零部件,结构件可全部通过3D打印完成(几乎完全不需要任何机加工零部件),搭配宇树的高可靠性电机和标准电池,客户打印完零部件后,大概仅需要3~5小时的手工组装即可得到一只可爱的Qmini小双足机器人本体。一起推动机器人的未来发展,创新没有边界,创造力是无限的,Qmini就是你的第一步,如果你也想做一个能动、能学、还能萌的小双足机器人,现在就可以动手了,全开源、真低门槛、只差你的3D打印机和一点点耐心。

雕爷学编程 1876

【UVM实战】第七章:UVM中的寄存器模型(1)寄存器模型简介

寄存器模型简介~

悟已往之不谏 知来者之可追 2057

【优选算法 — 双指针】经典例题题解+算法总结

本文总结了双指针算法在三道经典题中的应用:1)移动零——使用快慢指针将非零元素前移,零元素后移;2)复写零——采用反向回填同向双指针,从右向左复写0,避免覆盖;3)盛水最多容器——运用对撞指针,根据短板原则移动指针,高效求解最大面积。算法时间复杂度均为O(n),显著优于暴力法。文章还归纳了双指针的三类模式:快慢指针、反向回填同向双指针、对撞指针,并附推荐练习题,助力算法学习。

Tsuki_tl的博客 317

搞懂 ABAP 里的 Language Settings:登录语言、文本环境语言与 sy-langu 的真实含义

SAP系统中语言设置并非单一字段决定,而是由登录语言(logon language)和文本环境语言(text environment language)共同控制。登录语言在会话期间固定,而文本环境语言可通过SET LOCALE语句修改,影响文本处理、排序、异常显示等行为。开发中需区分两者:使用CL_ABAP_SYST方法获取登录语言,通过sy-langu或GET LOCALE获取当前文本环境语言。语言环境切换应谨慎处理并尽快恢复,避免影响会话中其他程序。在多语言场景下,正确处理语言设置对确保文本相关功能正常

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1303

贪心题目:加油站

个加油站,需要找到可以绕环路行驶一周的出发加油站的编号。,则无论从哪个加油站出发,绕环路行驶一周之后的剩余汽油都是负数,因此不可能绕环路行驶一周,返回。初始时油箱中的汽油是零,如果行驶到一个加油站的剩余汽油是负数,则无法行驶到该加油站。,此时第三段的汽油变化一定是正数,一定可以在第三段找到一个加油站作为起点,在遍历到。,则遍历过程中任意时刻的汽油都是非负数,因此可以绕环路行驶一周。,如果可以绕环路行驶一周,则返回出发时加油站的编号,否则返回。,则一定存在一个加油站作为起点,可以绕环路行驶一周。

stormsunshine的博客 329

[Dify实战] 招聘筛简历机器人:自动筛选、排序、生成面试要点-带绑定资源

摘要:本文介绍了如何利用Dify优化简历筛选流程,解决人工筛选耗时、标准不统一等问题。通过结构化输出"评分+亮点+风险+面试关注点",将主观判断转化为规则化流程。关键步骤包括:设计标准化Prompt、配置权重排序策略、确保公平合规性、与ATS系统对接,以及持续优化评估指标。该方法能显著提升筛选效率(缩短招聘周期)、增强一致性(避免主观偏差),并为面试官提供结构化参考信息,最终实现更高效精准的人才筛选。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 575

Altium Designer(AD24/25)导入DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导入DXF或DWG结构文件的方法。

fydar的博客 1406

【算法拾光】双指针|两数之和 II - 输入有序数组 + 三数之和

本文总结双指针核心技巧——相向双指针,适用于有序数组。两数之和II通过左右夹逼实现O(n)时间、O(1)空间解法;三数之和则在排序基础上固定一数,结合双指针与三层去重(固定数、左指针、右指针),避免重复答案,复杂度为O(n²)。核心思想:利用有序数组的单调性,通过指针单向移动高效排除不可能组合,是后续多数问题的基础。

wuqingyigexiaoba的博客 264

RAGFlow升级指南(纯小白都看得懂)

升级背景:RAGFlow项目原来的版本是0.17.0版本,在使用过程中,发现当知识库检索为空的时候并且使用到rerank模型的时候,就会输出错误的信息;为了解决这个版本问题,特意升级到最新的版本0.17.2(截止2025-3-14时最新版本就是0.17.2了)官方升级文档https://ragflow.io/docs/dev/upgrade_ragflow官方文档对小白还是不太友好,作者也是捣鼓了十多分钟,特出下面的升级指南前提:旧版本的RAGFlow项目是启动好了的1.在ragflow目录下执行(拉取最新

Ven%的博客 3593

优选算法——【双指针算法1】C++实现

双指针算法详细题解思路

2402_87037360的博客 496

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

算法札记:线性筛法乱改乱改内层循环条件有感

该代码为埃拉托斯特尼筛法的优化版本,用于求素数。WA版本未标记1为非素数,导致错误;AC版本添加vis[1]=true,并调整循环边界至N-2,确保正确筛除合数。关键优化在于内层循环中一旦i%p[j]==0即跳出,避免重复标记,提升效率。注意初始化与边界处理是正确性的关键。

Keven_11的博客 100

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

P1192 台阶问题

题目P1192台阶问题是一道经典的递归与动态规划结合题。通过记忆化搜索或递推DP求解,状态转移为:到达第n阶的方案数等于前k步内各阶方案数之和。关键在于初始化dp[0] = 1(起点),其余按dp[i] = sum(dp[i-j])递推,取模100003防止溢出。代码简洁,逻辑清晰,是理解动态规划基础的好例题。

UIU114的博客 170

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

算法一千零一夜 · 第十五夜 一门别扭的外语

比特王国第二课:房卡上的 6 和 4 是一种什么文字。速记官的十六枚戳,三块屏幕各司其职,FF 的两副面孔,和一条简单到不像学问的国籍法:二进制里只有一个 1。幻方旅行团回门,10 过不了闸,16 是上宾。

qq_41057763的博客 380

算法--桶思想

谐距下标对;最大 FST 距离

w_zero_one的博客 52

算法day1--移动零&&复写零

答案藏在不变量的第二句里:既然。

2401_85340832的博客 375

限流算法——固定窗口、滑动窗口、漏桶、令牌桶

本文对比了三种常见限流算法:计数器(固定/滑动窗口)仅关注请求数量,易受临界突刺影响;漏桶算法通过恒定速率输出,实现流量整形,保护下游但响应延迟高;令牌桶则允许突发,空闲时攒令牌,兼顾平滑与效率,适合大多数场景。三者本质区别在于对突发流量的处理策略,选择应基于业务需求。

fancyfor的博客 225

【StrongSort 03】多轨迹算法StrongSort改进点

StrongSORT在DeepSORT基础上提出五项在线改进:NSA(置信度自适应观测噪声)、EMA(特征指数滑动平均)、MC(运动-外观融合代价)、woC(单轮全局匹配)和ECC(相机运动补偿),均默认开启,逐帧完成无后处理。各模块通过参数灵活开关,显著提升跟踪精度与鲁棒性,尤其在相机运动、外观变化场景下表现优异。

Jayson 博客 327

C++ 算法(四)

C++string算法题

2503_94479566的博客 710

GraphRAG的问答大模型算法详解

GraphRAG 的核心算法机制GraphRAG 的流程通常可以拆解为三个阶段:图索引、图检索和图生成。图索引(Graph Indexing)这是 GraphRAG 区别于普通 RAG 的关键前置步骤。对于非结构化文本,系统会调用 LLM 进行实体与关系抽取,将“某公司收购了某品牌”这样的句子,转化为 (公司)-[收购]->(品牌) 的三元组,并存入图数据库。微软的 GraphRAG 项目还在此基础上构建“社区”(community)层级,对紧密连接的实体簇生成摘要,用于回答全局性问题。

qq_42773521的博客 261

从 1024 块 GPU 到 558 万美元:拆解 DeepSeek-V3 的算法-系统协同设计

DeepSeek-V3以671B参数、仅37B激活量和278.8万H800 GPU小时训练成本,打破大模型“堆算力”叙事。其核心在于四重解耦:MoE实现参数与计算分离,MLA低秩压缩KV缓存至576元素,MTP增稠训练信号,DualPipe将通信藏于计算之中。算法与系统协同设计,使资源瓶颈在多维度同时突破。真正的启示不在于模块创新,而是在约束边界上构建可落地的高效方法论——这正是AI工程时代最稀缺的能力。

小相探索IT世界 4596

【算法拾光】二分查找|第一个错误的版本 + H 指数 II

本文总结二分查找的两类经典应用:一是「第一个错误的版本」,利用布尔二段性(好/坏)采用左边界二分模板,关键在于right = mid而非mid-1;二是「H指数II」,通过二分答案结合嵌套二分求最小引用下标,利用单调性寻找最大合法h。两题分别体现二分左边界与二分答案思想,核心均为数据满足二段性即可二分。掌握后可应对多数二分变种问题。

wuqingyigexiaoba的博客 301

leetcode 3644. 排序排列 中等

(允许进行任意次这样的交换)。时,才能进行排序,因为没有更大的。是数组所有元素的一种重新排列。已经是有序的,返回 0。

2401_88085478的博客 97
上一篇: 自定义类型:结构体,联合体,枚举
下一篇: 数据结构--顺序表,链表,双向链表
无聊的框框
博客等级 码龄3年 526粉丝 46原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值