力扣刷题之旅:进阶篇(二)

         力扣(LeetCode)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。  

--点击进入刷题地址 


         继续我的力扣刷题之旅,在上一篇文章中,我深入探索了图算法动态规划的高级技巧。现在,我将附上一些简单的代码示例,以展示这些算法在实际问题中的应用。

一、广度优先搜索(BFS)

  • 下面是一个使用BFS算法解决“图的遍历”问题的简单代码示例:
from collections import deque  def bfs(graph, start):  visited = set()  queue = deque([start])  while queue:  vertex = queue.popleft()  print(vertex, end=" ")  for neighbor in graph[vertex]:  if neighbor not in visited:  visited.add(neighbor)  queue.append(neighbor)  # 示例图的邻接表表示  
graph = {  'A': ['B', 'C'],  'B': ['A', 'D', 'E'],  'C': ['A', 'F'],  'D': ['B'],  'E': ['B', 'F'],  'F': ['C', 'E'],  
}  bfs(graph, 'A')  # 输出: A B C D E F

二、深度优先搜索(DFS)

  • 下面是一个使用DFS算法解决“二叉树的遍历”问题的简单代码示例:
class TreeNode:  def __init__(self, val=0, left=None, right=None):  self.val = val  self.left = left  self.right = right  def dfs(node):  if node is None:  return  print(node.val, end=" ")  dfs(node.left)  dfs(node.right)  # 构造示例二叉树  
root = TreeNode(1)  
root.left = TreeNode(2)  
root.right = TreeNode(3)  
root.left.left = TreeNode(4)  
root.left.right = TreeNode(5)  dfs(root)  # 输出: 1 2 4 5 3

三、动态规划(DP)

  • 下面是一个使用动态规划解决“斐波那契数列”问题的简单代码示例:
def fibonacci(n):  if n <= 1:  return n  dp = [0, 1] + [0] * (n - 1)  for i in range(2, n + 1):  dp[i] = dp[i - 1] + dp[i - 2]  return dp[n]  print(fibonacci(10))  # 输出: 55

        这些代码示例展示了BFS、DFS和动态规划在简单问题中的应用。通过不断练习和实践,我们可以逐渐掌握这些算法的核心思想和应用技巧,为解决更复杂的问题打下坚实的基础。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

async 与 await(JavaScript)

目录捏 前言一、async二、await三、使用方法总结 前言 async / await 是 ES2017(ES8) 提出的基于 Promise 解决异步的最终方案。上一篇文章介绍了 回调地狱 与 Promise&#xff08;JavaScript&#xff09;&#xff0c;因为 Promise 的编程模型依然充斥着大量的 then 方法&#…

会声会影绿幕抠图操作方法 会声会影绿幕抠图有绿色残边 绿幕抠图视频有绿边怎么处理 抖音怎么剪辑视频 视频剪辑软件推荐

科幻片里真的存在怪兽吗&#xff1f;外太空的画面是直接将演员放入太空拍摄的吗?其实这些不切实际的画面是通过绿幕拍摄实现的。你只需要在绿幕前拍一段太空漫步的视频&#xff0c;再利用会声会影的抠图功能就能实现&#xff01;如果你还不会绿幕抠图&#xff0c;我今天就手把…

node网站 宝塔 面板配置 防止刷新404

1.问题 我现在配置了一个网站 后台项目 放到了宝塔上 将相应的域名和项目都配置好了 域名也可以访问 但是有的时候 出现了404 类似这种404 这个资源找不到 2.说明 其实这个问题的原因是nginx 的问题 反向代理的原因 3.解决 在这个配置文件中 有个配置文件 # 防止刷新404l…

1、学习 Eureka 注册中心

学习 Eureka 注册中心 一、创建 Eureka 微服务0、SpringBoot 和 SpringCloud 版本1、引入 Eureka 服务端依赖2、启动类加 EnableEurekaServer 注解3、配置 yaml 文件&#xff0c;把 Eureka 服务注册到 Eureka 注册中心4、访问 Eureka 服务端&#xff0c;查看注册中心的服务列表…

【GoogleAdmob接入后续】app-ads.txt以及部署Firebase Hosting

目录 一、创建app-ads.txt 二、部署Firebase Hosting云服务&#xff08;仅仅使用它作为一个公开的站点来让Google Admob能访问到app-ads.txt&#xff09; 三、收尾工作 一、创建app-ads.txt 创建txt文件&#xff0c;命名app-ads&#xff0c;后缀txt&#xff0c;内容需去到G…

Python爬虫之文件存储#5

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx 文件存储形式多种多样&#xff0c;比如可以保存成 TXT 纯文本形式&#xff0c;也可以保存为 JSON 格式、CSV 格式等&#xff0c;本节就来了解一下文本文件的存储方式。 TXT 文本存储 将数据保存到 TXT 文本的操作非常简单&am…

【Linux笔记】动静态库的封装和加载

一、静态库的封装 我们在学习C语言阶段其实就已经知道一个可执行程序的形成过程分为预处理、编译、汇编、链接这四个阶段&#xff0c;而且也知道我们程序中使用的各种库其实是在链接的阶段加载的。 可我们那时候并不知道库是怎么被加载的&#xff0c;或者库是怎么形成的&…

倒计时59天

(来源&#xff1a;b站左程云up 099&#xff09; 一&#xff1a;求逆元&#xff1a; 1&#xff09;要保证a可以整除b 2)要保证mod的是一个质数 3&#xff09;b和mod互质 题目2&#xff09;3&#xff09;一般都满足&#xff0c;主要是1) 方法&#xff1a;如求1.…

Transformer的PyTorch实现之若干问题探讨(二)

在《Transformer的PyTorch实现之若干问题探讨&#xff08;一&#xff09;》中探讨了Transformer的训练整体流程&#xff0c;本文进一步探讨Transformer训练过程中teacher forcing的实现原理。 1.Transformer中decoder的流程 在论文《Attention is all you need》中&#xff0…

GO语言笔记4-标识符、关键字与运算符

标识符 什么是标识符 变量名、方法名等我们起的名字都是标识符 标识符定义规则 字母、数字、下划线组成不可以数字开头&#xff0c;严格区分大小写&#xff0c;不能带有空格&#xff0c;不可以是go的关键字不能单独使用 下划线&#xff0c;因为下划线在GO中是一个特殊标识符&…

【GO语言卵细胞级别教程】03.条件与循环语句

注意&#xff1a;以下演示所用的项目&#xff0c;在第一章节已经介绍了&#xff0c;这里不做赘述 目录&#xff1a; 【GO语言卵细胞级别教程】03.条件与循环语句1.条件语句1.1 if语句1.1.1 单层if语句1.1.2 if-else语句1.1.3 if-else-if 语句1.1.4 if 嵌套 1.2 switch 语句1.1…

[职场] 如何通过运营面试_1 #笔记#媒体#经验分享

如何通过运营面试 盈利是公司的事情&#xff0c;而用户就是你运营的事情。你需要彻底建立一个庞大而有效的用户群&#xff0c;这样才能让你们的公司想盈利就盈利&#xff0c;想战略就战略&#xff0c;想融资就融资。 一般从事运营的人有着强大的自信心&#xff0c;后台数据分析…