数据结构与算法(Java版) | 关于以上几个经典算法面试题的一个小结

news2024/11/24 19:56:01

为了让大家明白算法的重要性,以上我就举了几个经典的算法面试题,我的目的也很简单,就是希望引起大家对算法的一个兴趣。

之所以在正式讲解数据结构与算法之前引出这几个经典的算法面试题,是因为我想告诉大家如下三点。

  1. 算法非常重要。
  2. 算法非常有趣。
  3. 算法学习起来有一定的难度。

而且,从目前的情况来看,不会算法的程序员迟早会被逐渐淘汰,所以大家一定要对算法重视起来,对它要有一个足够的认识。而正是鉴于此,我才在前两讲中给大家列举了那几个经典的算法面试题。

接下来,我们不妨对前两讲中介绍的几个经典算法面试题做一个总结,复习复习一下。

字符串匹配问题

大家应该还记得我给大家介绍的第一个经典算法面试题吧!是不是就是字符串匹配问题啊!还有印象吧!

字符串匹配问题是这样描述的,说有这样一个字符串,即str1 = "阿阿昀 李阿昀你李阿 李阿昀你李阿昀你李阿你好",和另外一个子串,即str2="李阿昀你李阿你",现在要判断str1是否含有str2,如果判断存在,那么就返回str2子串在str1字符串中第一次出现的位置,如果没有,那么则返回-1,并且要求用最快的速度来完成匹配。

大家有兴趣不妨先想一想,如果这道算法题给到你,那么你会怎么做呢?

我想,如果你没有学过算法,例如KMP算法,那么一般来说你是会采用暴力匹配这种方式来进行解决的。但是,暴力匹配它有一个特点,就是简单但效率低下。

因此,要想解决该问题,那我们就得使用KMP算法了!至于KMP算法是如何来解决的字符串匹配问题,那就要留待以后再来为大家进行讲解了,因为这里一两句话也说不清楚。

汉诺塔游戏

然后,我给大家介绍的第二个经典算法面试题便是汉诺塔游戏,还有印象吧!

关于汉诺塔游戏,我想下图应该可以大致描述出来。

在这里插入图片描述

总体来说,它的要求还是很简单的,如下:

  1. 将A塔的所有圆盘移动到C塔。可以看到,上图中A塔一共有5个圆盘,其实,圆盘的个数不止这么少,最多的时候有64个这么多。
  2. 并且规定小圆盘上不能放大圆盘。也就是说,在移动的整个过程中,大圆盘是不可以放在小圆盘上的。
  3. 此外,还规定在三根柱子之间一次只能移动一个圆盘。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文看懂MySQL的explian执行计划

表: 数据: 例如:explain select * from t where a 2; 各个字段解释: select_type 表示查询中每个 select 子句的类型(简单 OR 复杂) type 对表的访问方式,表示 MySQL 在表中找到所需行的方式…

[DT框架使用教程01]如何在DT框架中创建插件

[DT框架使用教程01]如何在DT框架中创建插件 DT框架代码地址: https://github.com/huifeng-kooboo/DT 由于国内访问速度的问题 也可以访问gitee的地址: https://gitee.com/huifeng_github/DT DT框架是基于QT框架衍生出的组件化框架。 对于想具体了解DT框架的同学&…

GO语言基础介绍

go语言的GMP模型(协程并发模型),P是go语言本身内部实现的调度器,它是基于协程队列的,协程在调度器面前就类似一个个独立的任务;P一般数量上是处理器内核数。Process本身有调度和创建M的能力,它会…

Web3中文|迪士尼前任CEO回归,能否带领迪士尼开辟web3之路?

据国外媒体报道,11 月 21 日,当地时间周日晚间,迪士尼宣布首席执行官(CEO)鲍勃 查佩克(Bob Chapek)离职,而其前任鲍勃 伊格尔(Bob Iger)将重返迪士尼CEO一职…

Navicat 16 和表空间 - Part 2

如何运作 "What is it? Its it" - Epic, Faith No More 欢迎回到这个关于在 Navicat 16 中使用表空间的系列。第 1 部分介绍了表空间的一些优点,包括可恢复性、轻易添加更多表、自动存储管理以及在隔离缓冲池中数据以提高性能或内存利用率。而第二部分…

Spring boot 3 GraalVM Native Image

Spring boot 3 && GraalVM Native Image 什么是 GraalVM? GraalVM is a high-performance JDK designed to accelerate the execution of applications written in Java and other JVM languages while also providing runtimes for JavaScript, Python, and a numb…

Seata模式-tcc

Seata模式目录概述需求:设计思路实现思路分析1.tcc模式2.一阶段 prepare 行为参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,c…

qiankun 部署微前端-vue2 (二)

对于基本的部署问题,也可以去官网查找答案: 常见问题 - qiankun 这里主要记录在部署过程中遇到的问题 一、路由权限问题 无论主应用路由还是子应用中的路由,都会涉及权限问题,并不是每个路由路径对任何角色都是可见&#xff0…

Linux学习-83-MySQL安装过程

17.12 MySQL安装 作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些…

〖产品思维训练白宝书 - 产品思维认知篇①〗- 产品思维能够为我们带来多大的价值?

大家好,我是 哈士奇 ,一位工作了十年的"技术混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &#x1f4e…

算法竞赛入门【码蹄集进阶塔335题】(MT2026-2050)

算法竞赛入门【码蹄集进阶塔335题】(MT2026-2050) 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2026-2050)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件?目录1. MT2026 二维坐标点移动2. MT2027 一秒成零3. MT2028 小…

开关量转4G模块直接阿里云操作介绍

开关量转4G模块直接阿里云操作介绍首先,设备接入阿里云阿里云的连接 同上,配置阿里云平台参数前,和华为云一样,首先要在阿里云控制台创建产品,添加设备获取设备证书 上云流程:创建产品--添加设备--获取证书…

USACO简介

USACO是美国信息学奥赛官网,网站为:USACO 其中还包括USACO TRAINING题目,这是一个可以做练习的网站,网站为USACO Training Gateway 进入USACO网站,我们可以看到以下图片 下来简要说一下关于USACO的注意事项 1.USACO…

python-(6-5-3)爬虫---处理防盗链获取视频

文章目录一 需求二 分析1 拿到contId2 拿到video_status返回的json -----> src Url3 对src Url 进行修整4 下载资源三 代码一 需求 想要获得某处的视频资源,但由于防盗链的存在,使得在使用浏览器的开发页面获得的视频地址与我们实际获取的地址产生差…

Spring源码深度解析十四:@Aspect方式的AOP上篇 - @EnableAspectJAutoProxy

一、前言 文章目录:Spring源码深度解析:文章目录 二、简介 Aop 即面向切面编程,而 Aspect 是Aop 思想的一种实现。 并不是所有的AOP框架都相同,它们在连接点模型上可能有强弱之分,有些允许在字段修饰符级别的应用通…

分享a股下单接口执行买入操作的流程代码

用户在使用a股下单接口&#xff0c;能够得到更多更准确的信息&#xff0c;让用户在股市当中&#xff0c;操作起来更加便捷和有效&#xff0c;对股市市场行情动向判断更加的准确一些。 下面看一下a股下单接口是如何执行买入操作的功能&#xff1a; std::cout << " …

小程序批发订货怎么做

小程序订货系统 批发订货是每个生产企业都不少不了的一个环节&#xff0c;伴随着信息化技术的不断更新&#xff0c;传统的订货方式已经不能满足生产企业的需求了&#xff0c;而鲜桥小程序订货系统基于微信生态&#xff0c;让你即买即用&#xff0c;轻松告别传统的订货方式&…

Java解析NC2018-2020降水量格点数据

经纬度范围 lon = 7849;lat = 5146;time = 12;double lon(lon=7849); :long_name = "longitude"; :unit = "degree"; double lat(lat=5146); :long_name = "latitude"; :unit = "degree"; double time(time=12); :long_nam…

【论文】Holistically-Nested Edge Detection

文章目录Development of Edge DetectionMulti-scale learning structureLoss FunctionNetwork Architecture&#x1f4c4;&#xff1a;Holistically-Nested Edge Detection&#x1f517;&#xff1a;https://openaccess.thecvf.com/content_iccv_2015/html/Xie_Holistically-Ne…

DSP篇--C6701功能调试系列之SRAM、ADC、喂狗测试

目录 1、SRAM测试 1.1 SRAM读写功能测试 1.2 EDAC测试 2、ADC测试 3、DSP喂狗测试 调试的前期准备可以参考前面的博文&#xff1a;DSP篇--C6701功能调试系列之前期准备_nanke_yh的博客-CSDN博客https://blog.csdn.net/nanke_yh/article/details/128277631 1、SRAM测试 1…