首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客595757375号
常州大学怀德学院 Java
发布于江西
关注
已关注
取消关注
@程序员Hasity:
【百度】提前批Java研发一面面经
一顿狂轰乱炸zkxzhuzhu要实现这个功能,可以首先遍历数组一次来找到最大值和最小值以及它们的索引,然后再进行两次交换.public class ArrayMinMaxSwap { public static void main(String[] args) { int[] nums = {5, 3, 8, 4, 2}; swapMinMax(nums); for (int num : nums) { System.out.print(num + " "); } } public static void swapMinMax(int[] nums) { if (nums == null || nums.length < 2) { return; } int minIndex = 0; int maxIndex = 0; int min = nums[0]; int max = nums[0]; // 找出最小值和最大值的索引 for (int i = 1; i < nums.length; i++) { if (nums[i] < min) { min = nums[i]; minIndex = i; } if (nums[i] > max) { max = nums[i]; maxIndex = i; } } // 如果最大值或最小值已经在正确的位置,则不需要交换 if (minIndex != 0) { // 将最小值交换到数组的第一个位置 int temp = nums[0]; nums[0] = min; nums[minIndex] = temp; } if (maxIndex == nums.length - 1 || (maxIndex != 0 && maxIndex != minIndex)) { // 如果最大值已经在最后一个位置,或者最大值和最小值不是同一个元素,则交换 int temp = nums[nums.length - 1]; nums[nums.length - 1] = max; nums[maxIndex] = temp; } // 注意:如果最大值和最小值相同且都在第一个位置,则上面的代码会进行不必要的交换然后恢复原位 // 但由于总是从索引1开始寻找最大值和最小值,这种情况下的交换是无害的 }}注意:这个方法首先遍历数组找到最大值和最小值的索引以及它们的值。然后,它检查这两个值是否已经在它们的目标位置(即最小值在数组的第一个位置,最大值在数组的最后一个位置)。如果不在,就进行相应的交换。这里有一个小的优化点:如果最大值已经在最后一个位置,且它不与最小值相同(即它们不是同一个索引),那么可以避免对最大值的第二次交换。但是,为了代码的清晰性和易读性,这里还是保持了两次可能的交换。需要注意的是,如果数组只有一个元素或为空,这个方法将直接返回,因为在这种情况下没有最小值或最大值的概念,或者没有位置可以交换。
点赞 26
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-10 01:21
哈尔滨工业大学 Java
[10.9] 兴业数金 笔试
客观题闹麻了,单选多选考了一堆安全方向的,直接乱答编程题原题在 洛谷。二分法找到木材长度即可,笔者用了闭区间二分,首先降序排序,接着初始化左右界为 nums[k-1] 和 nums[0],注意特判 k-1 越界情况。 class Solution: def maxLength(self, nums: List[int], k: int) -> int: # write code here nums.sort(reverse=True) L = nums[min(k, len(nums)) - 1] R = nums[0] def could_cut(m): cut = 0 for num...
投递兴业数金等公司10个岗位
点赞
评论
收藏
分享
10-15 20:32
美团_金融服务_后端开发(准入职员工)
团、节、东孝子全部启动启动启动!(26届后端秋招总结)
十一假期一过,最后还在泡的京东也下offer了,秋招基本落下帷幕,来写一个秋招总结,技术栈是Java后端,均有面经和心得:1.首先是offer嫡长子美团,金融服务–国际支付后端,4月干到8月实习转正,总结了一套自己的方法论,也幸运的遇到了很好的mt和ld对我表示了肯定,获得了S级转正评级,喜提ssp心得分享: 美团后端暑期实习经历+S级转正心得分享 鉴于已有美团大包的情况下,秉持着不抢占过多他人机会的想法,秋招只投递了最头部的几个大厂(ATMD+京东)2.字节跳动–财经–风控引擎后端,一直在牛客刷到很多字节的面试,但自己很幸运的在一次投递历经四面一口气拿下offer,一面稍微多考察了一些八股,...
LazyBreeze:
太强了,校友
我的求职进度条
点赞
评论
收藏
分享
09-28 19:15
武汉理工大学 C++
献祭华为😈😈
迷茫的大四🐶:
💐孝子启动失败,改为启动咏鹅
点赞
评论
收藏
分享
09-17 18:44
阿里巴巴_java 后端开发(实习员工)
可恶,还是做不到吗(ಥ_ಥ)
团子还能爱我一次吗,面了 N 次,总是差一点😵
点赞
评论
收藏
分享
10-15 21:31
门头沟学院 Java
一眼望到头的生活VS望不到头的生活
公务员其实就是稳定,规律的生活,工作内容相对固定,岗位变动啥的频率低。收入也很稳定,主要就是以 “基本工资 + 福利补贴” 为主,涨幅平缓但抗风险能力强,除了你主动离职或者犯错误了,基本不会出现失业什么的情况,大部分公务员一辈子顶多升到处级吧,甚至原地踏步,所以作为公务员基本就是一眼望到头的生活,这辈子做的工作生活基本就确定下来了。相反在大厂呢,工作内容随行业、公司需求动态调整,随时变化的。收入与个人能力、业绩直接挂钩,高薪机会多但波动大,行业下行或公司经营不善时,可能面临裁员、降薪这些风险。我记得张雪峰相关评价的一句话,大概意思就是你接受高薪资的同时,也要承担巨大的变动风险。在大部分公司里,...
投递牛客等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
面试最后的反问环节,能问些什么?(附特供问题)
2.2W
2
...
BG一般,如何逆天改命拿下后端秋招SSP?
1.3W
3
...
从面试官的角度看待一场面试是怎么样的?
7826
4
...
害,找工作哪有不上当的!
5292
5
...
团、节、东孝子全部启动启动启动!(26届后端秋招总结)
5145
6
...
作为普通家庭出身的我,为什么非大厂不可?
5030
7
...
双非硕的十月份秋招总结
4438
8
...
感觉每个人都有自己的苦恼
4237
9
...
项目经历混乱?STAR法则手把手教你梳理(附真实案例分析过程)
3729
10
...
待了一年,一点没亏
3430
创作者周榜
更多
正在热议
更多
#
实习在多还是在精
#
24002次浏览
189人参与
#
你的房租占工资的比例是多少?
#
61223次浏览
742人参与
#
爱玛科技集团求职进展汇总
#
34573次浏览
231人参与
#
秋招踩过的“雷”,希望你别再踩
#
57440次浏览
833人参与
#
我的求职进度条
#
37636次浏览
582人参与
#
大厂VS公务员你怎么选
#
13501次浏览
216人参与
#
未岚大陆求职进展汇总
#
3091次浏览
48人参与
#
如果不考虑收入,你最想做什么工作?
#
31020次浏览
180人参与
#
柠檬微趣工作体验
#
13149次浏览
72人参与
#
机械人的保底公司是哪一家?
#
40550次浏览
133人参与
#
顺丰求职进展汇总
#
61899次浏览
306人参与
#
华为池子有多大
#
102076次浏览
732人参与
#
当下环境,你会继续卷互联网,还是看其他行业机会
#
135354次浏览
868人参与
#
如果再来一次,你还会学硬件吗
#
137778次浏览
1441人参与
#
如何用一句话描述你的职业
#
24844次浏览
172人参与
#
高学历就一定能找到好工作吗?
#
55435次浏览
607人参与
#
如何排解工作中的焦虑
#
219530次浏览
2104人参与
#
实习下班不想学习,正常吗?
#
13658次浏览
150人参与
#
反问环节如何提问
#
112344次浏览
2349人参与
#
你见过哪些工贼行为
#
11401次浏览
76人参与
#
工作中,努力重要还是选择重要?
#
204393次浏览
2074人参与
#
校招谈薪一定要知道的事
#
9521次浏览
92人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务