面试锦集:JAVA算法面试第二篇

Java 面试之算法 二分查找 int BinarySearch( DataType a[], int low, int high, DataType x ) { if ( low>high ) { return -1; // 查找失败 } mid = (low + high) / 2; // 折半 if ( a[mid] == x ) { r... 阅读详情
package com.algorithm;

/**
 * 面试锦集:
 * 
 * 用最简单的方法把数组第一位和第二位, 第二位和第三位,
 * 第三位和第四位, 第四位和第五位,第五位和第六位,
 * 最后一位和第一位更换位置(要求单层循环实现)
 * 
 * @author 小辉GE
 * 
 * 2019年7月30日 下午6:19:00
 */
public class ArrayChangePosition {

	public static void main(String[] args) {
		
		/** 如何使用最简单方法(单层循环) **/
		/**************************** 倒序遍历数组实现方式 ****************************/
		String arr[] = { "1", "4", "5", "6", "7", "8", "9", "10", "11", "15", "156", "169", "155", "19853" };
		// 取得最后的元素
		String tempLast = arr[arr.length - 1];

		for (int i = arr.length - 1; i > 0; i--) {
			// 依次向后赋值
			arr[i] = arr[i - 1];
		}
		// 将最后的元素赋值给第一个位置
		arr[0] = tempLast;

		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}

		// 分割行线
		System.out.println("");
		System.out.println("");

		/**************************** 正序遍历数组实现方式 ****************************/
		String arr_[] = { "1", "4", "5", "6", "7", "8", "9", "10", "11", "15", "156", "169", "155", "19853" };
		String tempLast_ = arr_[arr_.length - 1];// 取得最后的元素
		/** 每次需要上一个元素替代下一个元素前保存要替代的元素 **/
		String tempPrex = "";
		for (int i = 0; i < arr_.length - 1; i++) {
			/** 当前数组遍历是需要替代的下一个元素 **/
			String tempNext = "";
			tempNext = arr_[i + 1];
			if (tempPrex.equals("")) {
				arr_[i + 1] = arr_[i];
			} else {
				arr_[i + 1] = tempPrex;
			}
			tempPrex = tempNext;
		}
		arr_[0] = tempLast_;// 最后把最初的最后一个元素放在第一位
		for (int i = 0; i < arr_.length; i++) {
			System.out.print(arr_[i] + " ");
		}

	}
}

测试输出结果如下:

以上代码仅供参考,如有不当之处,欢迎指出!!!

更多干货,欢迎大家关注和联系我。期待和大家一起更好的交流、探讨技术!!!

 

Microduck机器鸭开源AI项目:本地部署与模型微调实战指南 开源AI模型的本地化部署与定制化训练正成为开发者关注的技术趋势。与依赖云端API的在线服务不同,本地部署允许用户将模型权重下载至自有GPU环境,通过命令行或WebUI完成推理、批量任务处理及API集成,在数据隐私、离线使用和接口稳定性方面具备天然优势。模型微调则基于预训练权重,利用领域数据训练特定任务,从而提升生成质量与业务适配度。这一技术路径广泛应用于内容生成、智能对话、自动标注等场景,尤其适合消费级显卡开发者、数据敏感型团队及二次开发研究者。Microduck(机器鸭)作为近期预售火爆的开源项目,围绕“ 阅读详情

相关推荐

CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?

接着,它创建了一个 Player 对象,并使用 protobuf.js 提供的 API 对其进行序列化和反序列化操作。其中,name 和 level 是普通的字段,items 是一个 repeated 字段,表示它可以包含多个值。在 Cocos Creator 中使用 protobuf.js,我们需要先加载 .proto 文件,然后使用 protobuf.js 提供的 API 进行序列化和反序列化操作。JSON和XML是文本格式,更易于阅读和调试,而且在对人类友好的接口和数据交换上更为常见和广泛支持。

w风雨无阻w的专栏 2627

总览十大经典排序算法

排序算法是《数据结构与算法》中最基本的算法之一,排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 十大经典排序算法分别是: 1、冒泡排序 2、选择排序 3、插入排序 4、希尔排序 5、归并排序 6、快速排序 7、堆排序 8、计数排序 9、桶排序 10、基数排序 用一张图...

饶艳辉 304

STM32F103上跑mbedtls 2.24.0:手把手教你为MQTTS加密通信打好基础

本文详细介绍了如何在STM32F103上移植和裁剪mbedtls 2.24.0,为MQTTS加密通信打下坚实基础。通过版本选择、开发环境配置、深度裁剪策略和加密功能验证,帮助开发者在资源受限的MCU上实现安全通信。文章还提供了常见问题解决方案和性能优化技巧,助力物联网设备开发。

weixin_30321709的博客 462

面试锦集:JAVA算法面试第一篇

package com.algorithm; /** * 面试锦集: * * 实现方法int findNextPrime(int i),使其返回下一个大于i的质数。 * * 百度百科对质数的定义:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 * * @author 小辉GE/小辉哥 * * 2019年7月31日 下午6:20:00 */ p...

饶艳辉 245

C++结合大漠插件实现DNF自动化脚本:从原理到实战

自动化技术通过模拟用户操作,实现重复性任务的自动执行,其核心原理在于对系统输入输出接口的精确控制。在Windows平台,这通常涉及窗口管理、图像识别与键鼠模拟等技术。这些技术为软件自动化测试、办公流程自动化及特定场景的辅助工具开发提供了工程实践基础。大漠插件作为国内广泛使用的Windows自动化开发组件,封装了上述底层操作,显著降低了开发门槛。通过其提供的COM接口,开发者可以高效实现窗口绑定、后台找图找色及内存读写等关键功能。本文以《地下城与勇士》为例,详细解析如何利用C++集成大漠插件,构建一个稳定、高

weixin_34185512的博客 567

FPGA AXI DDR3读写时序调试与FIFO缓存实战解析

本文深入解析FPGA中AXI协议与DDR3的读写时序调试,重点探讨FIFO缓存在数据流控制中的关键作用。通过实战案例详细讲解突发传输中的地址对齐、数据分片等常见问题,并提供状态机设计、仿真波形分析和性能优化技巧,帮助开发者高效解决高速数据存储场景下的时序同步与数据一致性问题。

blockchain9miner的博客 1117

【面试锦集】

15.mask rectmask 区别16.图集。

Lareinaba的博客 1309

educoder数字逻辑实训:寄存器设计与应用(Logisim)

第1关:基本寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位基本寄存器,要求上升沿触发,具有异步复位功能。 第2关:移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位右移移位寄存器,要求上升沿触发,具有异步复位功能。 第3关:循环移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位循环右移移位寄存器,要求上升沿触发,具有异步复位功能以及并行数据同步加载功能。 第4关:并行..

qq_52209002的博客 1万+

java算法大全_java经典算法_算法面试题大全含答案

1、Java中用到的线程调度算法是什么? 2、java二叉树算法面试题大全含答案 3、java笔试手写算法面试题大全含答案 4、java递归算法练习:使用递归算法写个程序计算n! 5、JVM的常见垃圾回收算法 6、《java算法大全》第一期 7、《java算法大全》第三期 8、《java算法大全》第二期 9、《java算法大全》第五期 10、《java算法大全》第四期 11、《java经典算法》之...

songfei_dream的专栏 1万+

【主力资金密码】副图指标升级版使用技术图文案例分解,通达信软件炒股指标公式代码

(1)主力资金线在低位时,对应的副图指标显示柱线是绿色,这个阶段主力资金参与小,行情处于下跌趋势或弱势震荡。当然,如果结合主图指标【翻倍密码系统】操作,主图的两个买卖点以及K线均线变色跟踪功能,更多的技术支撑,多空更加清晰,共振做多或多头更加确定和安全。如上图标记,中档虚线是参考安全操作的一个区间划分,粉色阶段做多或持股为主,为操作增加一道安全保护。如上图,副图指标【主力资金密码】更新叠加操作区间背景,绿色阶段持币或做空,粉色阶段做多或持股。如上图,副图指标,标记的两个区间,绿色区间时做空或持币。

weixin_69760830的博客 2551

f103vet6 SD卡SDIO+DMA配置避坑指南:从初始化卡死到稳定读写的全流程解析

本文详细解析STM32F103VET6芯片SD卡SDIO与DMA配置中的常见问题,从初始化卡死到读写不稳定的全流程解决方案。重点分析总线宽度配置、时钟分频调整及DMA通道管理技巧,帮助开发者避开常见陷阱,实现稳定高效的数据存储。

u0v1w2x3的博客 666

面试锦集:JAVA算法面试第三篇

package com.algorithm; /** * 面试锦集: * * JAVA程序实现一天24小时时分秒重合次数 * * @author 小辉GE/小辉哥 * * 2019年8月1日 下午6:02:40 */ public class HourMinuteSecondRepeatTimes { public static void main(String[] ...

饶艳辉 238

EtherCAT主站IGH-- 49 -- 搭建xenomai系统及自己的IGH主站

以上就是搭建xenomai系统及自己的IGH主站的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 3155

Java面试进阶:Dubbo、Zookeeper面试题锦集

Dubbo面试题锦集 1、默认也推荐使用netty框架,还有mina。 2、默认是阻塞的,可以异步调用,没有返回值的可以这么做。 3、推荐使用zookeeper注册中心,还有redis等不推荐。 4、默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。 5、服务失效踢出基于zookeeper的临时节点原理。 6、采用多版本开发,不影响旧版本。 7、可以结合zipkin实现分布式服务追踪。 8、核心配置有 dubbo:se...

一个有情怀的程序猿博客 1449

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

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

Java 面试中的高频算法题详解

在Java面试中的高频算法题中,常见的有排序算法、动态规划、回溯算法和贪心算法等。每种算法都有其独特的应用场景和解题策略。排序算法如快速排序和归并排序广泛用于数组和列表的排序;动态规划用于解决如背包问题、最长公共子序列等需要优化子问题的复杂问题;回溯算法适用于解约束条件的排列、组合问题,例如N皇后问题;而贪心算法则在活动选择、最短路径等问题中通过局部最优选择构建全局最优解。这些算法不仅是编程面试中的常见题目,也是日常编程工作中解决复杂问题的常用工具。通过对这些算法的深入理解和掌握,可以帮助开发者提高解决问题

想看什么文章都可以私信给我,综合性博客。 2206

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

BAT大厂Java面试真题锦集干货整理

前言: 首先介绍一下我的同学,专科毕业应用电子技术专业,已经毕业快两年了。因为专业的原因工作一年觉得没什么发展前途就想转行,身为他的“好基友”,他觉得我这个工作挺好的,就咨询了我一下,经过的严厉拒绝下(各种诱惑下),还是阻挡不了他。随后他报名了北大某鸟进行培训,进行了为期半年的Java程序员速成加工。 因为年前结束培训他准备年后面试,谁知遇到这个大疫情,一直拖到了5月份。随后进行了长达2个月的面试历程。谁知昨天聊天的时候这个狗贼竟然通过了面试,而且还是12K,可把我羡慕坏了(我才11K),经过拜师才知道是他

m0_57286518的博客 350

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

十多家大厂Android面试真题锦集干货整理,flutter菜鸟教程

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。我搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。如果你觉得这些内容对你有帮助,可以扫码领取!

2301_81749759的博客 778

最新JAVA经典算法50题(1),BAT大厂Java面试真题锦集干货整理

其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来目录:部分内容截图:本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取i < 10;i++) {

2401_84003554的博客 653

各阶段常见面试题锦集

第一阶段面试题 一、JAVA基础 1. 列出JAVA中所有基本数据类型,并说明这些数据类型占用的字节数? 答案: java的原始数据类型,也可以叫java的基本数据类型,一共就8个,分别是:byte、short、int、long、boolean、char、float、double byte 1个字节 boolean 1个字节 char 2个字节 short 2个字节 int 4个字节 long 8...

FaceThePast的博客 1296

汇丰软件Java面试题集:助你面试通关的必备工具

汇丰软件Java面试题集:助你面试通关的必备工具 【下载地址】汇丰软件Java面试题集 这个开源项目汇集了汇丰软件公司的Java面试题集,专为求职者量身定制,帮助他们在面试中脱颖而出。题库涵盖数据规律分析、选择题和编程题,全面考察Java基础知识与实际应用能力。通过练习这些题目,你可以深入理解Java语法、数据结构与算法...

gitblog_06775的博客 373

面试锦集:JAVA算法面试第四篇

package com.algorithm; /** * 面试锦集: * 要求不使用JDK自带的API,手动实现剔除某字符串中所有空格 * * @author 小辉哥/小辉GE * <p> * 2019年8月2日 下午17:19:38​ */ public class StringTrims { public static void main(String[...

饶艳辉 175

hessian java 面试_Java面试进阶:Dubbo、Zookeeper面试题锦集

Dubbo面试题锦集1、默认也推荐使用netty框架,还有mina。2、默认是阻塞的,可以异步调用,没有返回值的可以这么做。3、推荐使用zookeeper注册中心,还有redis等不推荐。4、默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。5、服务失效踢出基于zookeeper的临时节点原理。6、采用多版本开发,不影响旧版本。7、可以结合zipkin实现分布式服...

weixin_39936792的博客 284

Java算法常见面试题及答案

随着疫情的好转,各大企业公司纷纷开始复工,招聘也将迎来一个高峰。Java程序员想要在这次疫情后,拿到满意的offer,就必须做好充足的准备。众所周知,算法可以说是大厂面试Java程序员的必问面试题。相信算法的重要性大家都了解,好的算法可以让性能得到万倍提升,做到毫秒级处理千万数据的程度。因此,为了提升大家在面试中的底气,本文整理了一些Java程序员算法面试题并比附上了答案,一起来看看吧! Java算法常见面试题及答案1、算法的时间复杂度时候是什么?答案:算法的时间复杂度表示程序运行完成所需的总时间,它通常用

java364100的博客 9593

Java面试--排序算法

面试题:排序算法了解哪些(阿里面试题) 一、排序简介 排序算法大体可分为两种: 1、比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 2、非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。 二、冒泡排序法 算法思路: 1、比较相邻的元素。如果第一个比第二个大,就交换它们...

小刺猬 2万+

BAT大厂Java面试真题锦集干货整理,赶紧收藏!

蚂蚁金服一面: 下午杭州的电话,问有没有空,果断有空,虽然感觉略显紧张,有点懵逼。 面试的题目: HashMap和Hashtable的区别 实现一个保证迭代顺序的HashMap 说一说排序算法,稳定性,复杂度 说一说GC 可以保证的实习时长 职业规划 整体来说,一面的基础性问题比较多,所以博主基本都答出来了,准备过还是有些用处的。所以一面完了感觉还不错,接着第二天下午就二面了。 蚂蚁金服二面 二面是我最慌的面试,因为二面是最关键的,是最大的主管面试,所以非常关键,整体来说,二面的节奏非常快,和一面完全

m0_57066056的博客 199

面试必刷的算法题 - 剑指offer题集Java实现

本文的题目均来自LeetCode的剑指offer题库 文章目录基础知识数据结构面试题03.数组中重复的数字面试题04.二维数组中的查找面试题05.替换空格面试题06.从尾到头打印链表面试题07.重建二叉树面试题09.用两个栈实现队列算法与数据操作面试题10-I.斐波那契数列面试题11.旋转数组的最小数字面试题12.矩阵中的路径面试题13.机器人的运动范围[面试题14-I. 剪绳子](https:/...

clonechen 3738
上一篇: 面试锦集:JAVA算法面试第一篇
下一篇: 面试锦集:JAVA算法面试第三篇
饶艳辉
博客等级 码龄15年 20粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值