java做题思路_使用Java 语言分享算法解题思路

A老师:给你一个数组,包含多个字符串,并且有一个有一个字符串s,提取其中的字符,查找到数组中的一个字符串中包含字符串中的所有字符并且最先出现最短的距离。比如String s="1s3 456"; String []words= {"looks", "pest", "stew", "show"};我们应该输出的是pest。

龟哥的思路是:首先将是s中是字符的挑选出来保存到ArrayList中,然后list中的数据与每个单词words[i].charAt(j)比较,当出现相等的时候,将相等的数据从list中移除掉。最后进行判断和比较,当list中的数据长度等于0,并且设置单词的长度小于最小值的时候,进行赋值,并且把当前最小值的数据保存到一个字符串中,然后循环比较,直至找到最小值和对应的数据。

be392f667c3cd2e64b8d05306a9f7f50.png

A老师:求字符的最短距离,题目意思是给定一个数组和一个字符,找到数组中的元素和到字符的最短距离。比如 String s="loveleetcode"; char c='e';返回值为[3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0] 。

龟哥的思路是:首先将s.toCharArray()方法转化成char类型的数组,通过数组的遍历和c进行比较,如果比较后相等,将数组中相等数值的索引保存到list中,通过循环遍历如

for(int i=0;i

index=ch.length;

for(int j=0;j

index=Math.min(index,Math.abs(list.get(j)-i));

}

result[i]=index; } 最终得出结果。

0b0b488765065fef071f440a512b4541.png

吹着凉爽的风,龟哥心里美滋滋。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
山东省蓝桥杯是一项具有较高知名度和竞争水平的计算机大赛,在Java组别中获得一等奖需要具备一定的实力和准备。以下是我个人认为要做对的几点: 首先,提前充分准备。蓝桥杯竞赛难度较高,考察的范围也较广,包括Java基础知识、算法与数据结构、面向对象编程等方面。因此,要通过自学、课程学习或参加相关培训,全面掌握Java语言的基础知识,并能运用到实际编程中。 其次,熟悉竞赛规则和题型。蓝桥杯的比赛形式多样,包括在线理论笔试、编程题、上机调试等环节。了解比赛的评分规则、答题时间和提交方式,合理分配时间,有针对性地备战每个环节,以最大程度地发挥自己的优势。 此外,要有实践经验和项目积累。蓝桥杯不仅要求理论知识的掌握,还注重对实际问题的解决能力。要积极参加项目实践,多从事项目开发,充分锻炼自己的编程思维和解决问题的能力。 还要通过做题训练提高编程能力。选取蓝桥杯历年的真题或类似题目进行模拟训练,通过不断练习来提高自己的编程能力和解题思路。在解题过程中,要注意代码的规范性、可读性和效率,注重算法优化和程序调试。 最后,保持积极的心态和团队合作精神。蓝桥杯是一次公平竞争,要有自信心和坚持不懈的努力,不怕困难和挫折。同时,要积极与队友合作,共同攻克问题,提高团队的整体水平。 总之,获得山东省蓝桥杯Java一等奖需要全面准备,从基础知识学习到实际项目实践,再到解题训练和团队合作,都需要付出大量的努力和时间。只有真正理解并掌握了Java编程的本质,才能在竞赛中做对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值