当前位置: 首页 > news >正文

报价网站制作搜索引擎优化工作

报价网站制作,搜索引擎优化工作,软件外包公司人数,wordpress的tag函数使用教程594 最大和谐字符串 这道题属于字符串类型题目,解决的办法还是有很多的,暴力算法,二分法,双指针等等。 题目描述 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。 现在,给你一个整数数组 nums …

594 最大和谐字符串

这道题属于字符串类型题目,解决的办法还是有很多的,暴力算法,二分法,双指针等等。

题目描述

和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。

现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度。

数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。

在这里插入图片描述

这题一上来描述贼多,例子给的是比较简单的。直接扔出两个例子让你理解,好了,是看着好像是简单的字符串一类。遥想当年还是在大学,坐在教室后排在上听着年老的大学教授讲着C++与字符串是多么的犯困😪,倚着头看着心仪班花的时候。。。啪!继续看题!
在这里插入图片描述
既然是面试,那咱们可不能让面试官久等了。

小明:OK,完事儿,等着面试官来表扬自己吧。他肯定会说:小子,你是个好手!工位都给你准备好了,工资你说了算。

暴力解法

    public static int longestHarmoniousSubsequence(int[] nums) {// 最长和谐子序列的长度int maxLength = 0;// 遍历所有可能的子序列for (int i = 0; i < nums.length; i++) {// 当前子序列的长度int currentLength = 1;// 从当前元素开始向后遍历for (int j = i + 1; j < nums.length; j++) {// 如果差为 1,则更新当前子序列的长度if (Math.abs(nums[i] - nums[j]) == 1) {currentLength += 1;} else {// 如果差不为 1,则结束当前子序列break;}}// 如果当前子序列的长度大于最长子序列的长度,则更新最长子序列的长度if (currentLength > maxLength) {maxLength = currentLength;}}return maxLength;}

在这里插入图片描述

面试官:嗯,你这个要是nums 数组 要是给了十万个数是不是会影响性能?

小明OS:今年这个找工市场,人言洛阳花似锦,偏我来时不逢春。。。怎的,技能要求突然涨了,不是做出来就行?

好吧,逼我拿出压箱底的东西是吧。的确这个算法是偏慢一些,但是这不是想着去请班花吃饭么。

这里我个人小白理解分析:

对于最长和谐子序列问题,我们可以使用滑动窗口来维护一个包含所有元素的和谐子序列。窗口的大小为 2,窗口中的元素之差为 1。

具体来说,我们可以从第一个元素开始,遍历整个数组。对于每个元素,我们将其添加到窗口中。如果窗口中的元素之差不为 1,则我们将窗口中的最小元素移出窗口。

这样,我们就可以确保窗口中始终包含一个和谐子序列。

Sliding Window

 public static int findLHS(int[] nums) {// 将数组升序排列Arrays.sort(nums);// 窗口的左边界int left = 0;// 窗口的右边界int right = 1;// 最长和谐子序列的长度int maxLength = 0; // 每次循环后的数组大小int len = 0;while(right < nums.length) {// 计算前后两个指针数字只差int diff =  nums[right] - nums[left];// 如果窗口中的元素之差大于1,并且左指针小于右指针,增加左指针while(diff > 1  && left < right) {left++;diff = nums[right] - nums[left];}// 就算当前符合要求的len长度if(nums[right] != nums[left]) {len = right - left + 1;}// 更新最长和谐子序列的长度maxLength = Math.max(len, maxLength);right++;}return maxLength;

好了,时间复杂度O(n)了,下一面继续

在这里插入图片描述

http://www.hrbkazy.com/news/50466.html

相关文章:

  • 班级展示网站怎么做好网络推广销售
  • 网站建设 考题中央常委成员名单
  • 做网站 分工网站推广的基本手段有哪些
  • 怎样看是静态网站还是动态网站 怎么操作app推广引流渠道
  • b2b电子商务模式特点网站首页seo关键词布局
  • 合肥网站建设电话咨询新媒体营销案例
  • 做网站的标签什么意思网络营销概念
  • 做外贸营销网站销售咋样网站外链工具
  • 建设银行电商网站日本今日新闻头条
  • 郑州做网站的公司哪家seo这个职位是干什么的
  • 用axure做网站原型图湖南企业seo优化
  • 营销网站的优势有哪些seo成都培训
  • wordpress怎么找到作者的分类标签零基础学seo要多久
  • 网站建设实用教程链接网
  • 网站建设带宽多少合适直通车推广怎么做
  • 海淀网站建设电话个人网页
  • 兰州网站建设 冰雨营销外包团队怎么收费
  • 网站建设与设计摘要b站视频推广网站2023年
  • 个人备案网站会影响吗百度平台推广
  • 虚拟货币做空网站杭州seo推广优化公司
  • 海南注册公司流程和费用三门峡网站seo
  • 怎么在qq上自己做网站seo入门黑帽培训教程
  • 工业品企业网站源码线下推广渠道和方式
  • 登录门户网站查排名的网站
  • wordpress添加代码合肥网站推广优化
  • linux网站架构汕头网站制作设计
  • 找一个网站做搜索引擎分析泉州全网营销
  • 360全景网站建设网站服务器查询
  • 网站 中国最早做网站的最新天气预报最新消息
  • 陕西网站建设多少钱百度点击器找名风软件