数据结构与算法相关题解20240225

在这里插入图片描述


数据结构与算法相关题解20240225

  • 一、58. 最后一个单词的长度
  • 二、48. 旋转图像
  • 三、69. x 的平方根
  • 四、50. Pow(x, n)

一、58. 最后一个单词的长度

简单
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:
输入:s = “Hello World”
输出:5
解释:最后一个单词是“World”,长度为5。

示例 2:
输入:s = " fly me to the moon "
输出:4
解释:最后一个单词是“moon”,长度为4。

示例 3:
输入:s = “luffy is still joyboy”
输出:6
解释:最后一个单词是长度为6的“joyboy”。

class S58:def func(self, s):r = len(s) - 1for i in range(len(s) - 1, -1, -1):if s[i] == " ":r -= 1else:breakl = rfor i in range(l, -1, -1):if s[i] != " ":l -= 1else:breakreturn r - lr = S58()
s = "   fly me   to   the moon  "
print(r.func(s))

二、48. 旋转图像

在这里插入图片描述

先上下反转
再按照对角线反转
本题采用上下反转
1 2 3 7 8 9
4 5 6 4 5 6
7 8 9 1 2 3
载通过主对角线进行反转
7 4 1
8 5 2
9 6 3

class S48:def func(self, nums):n = len(nums)i = 0j = n - 1for m in range(n):nums[i][m], nums[j][m] = nums[j][m], nums[i][m]# 对角线进行反转,对下部分进行反转for x in range(1, n):for y in range(x):nums[x][y], nums[y][x] = nums[y][x], nums[x][y]return numsr = S48()
nums = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(r.func(nums))

三、69. x 的平方根

简单
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:
输入:x = 4
输出:2

示例 2
输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。

思路:二分查找

class S69:def func(self,x):left=0right=x     #任何数的平方根都小于本身ans=-1while left<=right:mid=(left+right)//2if mid*mid<=x:ans=midleft=mid+1else:right=mid-1return ansr=S69()
x=8
print(r.func(x))

四、50. Pow(x, n)

中等
实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。

示例 1:
输入:x = 2.00000, n = 10
输出:1024.00000

示例 2:
输入:x = 2.10000, n = 3
输出:9.26100

示例 3:
输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25

class S50:def func(self,x,n):if n<0:x=1/xn=-nres=1while n:if n%2==0:x=x*xn=n//2else:res=res*xn=n-1return res
r=S50()
x = 2.00000
n = 3
print(r.func(x, n))

在这里插入图片描述

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

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

相关文章

开源世界的学术问题

自由软件基金会是1983年成立的&#xff0c;到现在是41年。正好很有意思的是&#xff0c;在去年还有一篇文章&#xff08;CSDN 的翻译&#xff09;&#xff0c;专门在质疑说成立 40 年的自由软件基金会是不是已经快不行了&#xff0c;所以我们会用这个标题叫做兴衰发展历程来介绍…

无人机精准定位技术,GPS差分技术基础,RTK原理技术详解

差分GPS的基本原理 差分GPS&#xff08;Differential GPS&#xff0c;简称DGPS&#xff09;的基本原理是利用一个或多个已知精确坐标的基准站&#xff0c;与用户&#xff08;移动站&#xff09;同时接收相同的GPS卫星信号。由于GPS定位时会受到诸如卫星星历误差、卫星钟差、大…

创建者模式(Builder Pattern):构造复杂对象的通用解决方案

文章目录 **一、技术背景与应用场景****为何使用创建者模式&#xff1f;****典型应用场景包括但不限于&#xff1a;** **二、创建者模式定义与结构****三、使用步骤举例**四、优缺点分析总结 一、技术背景与应用场景 创建者模式是一种对象创建型设计模式&#xff0c;它通过将复…

修复Microsoft Edge WebView2无法安装的问题

修复Microsoft Edge WebView2无法安装的问题 场景解决方案 场景 系统&#xff1a;win11 电脑&#xff1a;联想14 前提&#xff1a;使用Geek Uninstaller强制删除了Microsoft Edge WebView2 同时下载了clash verge。 发现根本无法运行&#xff08;点击了无任何反应且图标颜色…

电影《热辣滚烫》观后感

过完年&#xff0c;回来的时候&#xff0c;上周看了这部电影《热辣滚烫》&#xff0c;是贾玲自导自演的一部电影&#xff0c;个人感觉还是非常好的&#xff0c;偏向小人物&#xff0c;写实风格。 &#xff08;1&#xff09;电影相关评价 但是你说这部电影有多立志&#xff0c…

vue2和vue3对比(语法层面)

阅读文章你将收获&#xff1a; 1 了解不使用组件化工具时&#xff0c;vue在html是如何使用的 2 知道vue2的生命周期函数有哪些 3 知道如何在组件化开发中使用vue 4 大致了解了vue2和vue3在使用上什么不同 最后&#xff1a;vue2和vue3除了下面我列出的有差异化的地方&…

勇宝趣学JavaScript第二章(解构赋值)

在ES6中&#xff0c;我们经常使用到解构赋值这个知识点&#xff0c;今天我们就来好好讲讲这一小部分知识点。咱们争取这回一次性讲明白。 今天是元宵节&#xff0c;祝大家节日快乐&#xff0c;只有我自己还在无聊的码字。 给我点个赞吧&#xff0c;嘿嘿&#xff01;&#xff01…

项目解决方案:视频监控AI智能分析和识别系统设计方案

目 录 一、需求分析 二、系统设计原则 2.1、先进性与适用性 2.2、经济性与实用性 2.3、可靠性与安全性 2.4、开放性 2.5、可扩充性 2.6、追求最优化的系统设备配置 三、系统架构 3.1软件架构 3.2系统说明 四、拉流模块服务器配置 一、需求分析 本系统设计…

力扣用例题:2的幂

此题的解题方法在于根据用例调整代码 bool isPowerOfTwo(int n) {if(n1){return true;}if(n<0){return false;}while(n>2){if(n%21){return false;}nn/2; }if(n1){return false;}return true;}

[LWC] Components Communication

目录 Overview ​Summary Sample Code 1. Parent -> Child - Public Setter / Property / Function a. Public Property b. Public getters and setters c. Public Methods 2. Child -> Parent - Custom Event 3. Unrelated Components - LMS (Lightning Message…

Mysql--索引分类

Mysql--索引分类 1. 索引分类2. 聚集索引&二级索引 1. 索引分类 在MySQL数据库&#xff0c;将索引的具体类型主要分为以下几类&#xff1a;主键索引、唯一索引、常规索引、全文索引。 2. 聚集索引&二级索引 而在在InnoDB存储引擎中&#xff0c;根据索引的存储形式&am…

计算机网络-网络互联

文章目录 网络互联网络互联方法LAN-LAN&#xff1a;网桥及其互连原理使用网桥实现LAN-LAN使用交换机扩展局域网使用路由器连接局域网 LAN-WANWAN-WAN路由选择算法非自适应路由选择算法自适应路由选择算法广播路由选择算法&#xff1a;分层路由选择算法 网络互联 网络互联是指利…

【云原生】Docker consul的容器服务更新与发现

目录 什么是服务注册与发现 什么是consul consul提供的一些关键特性&#xff1a; consul 部署 consul服务器 1. 建立 Consul 服务 设置代理&#xff0c;在后台启动 consul 服务端 2. 查看集群信息 查看members状态 查看集群状态 3. 通过 http api 获取集群信息 regi…

【leetcode热题】填充每个节点的下一个右侧节点指针 II

给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NULL 。 初始状态下&#xff0c;所有 next 指针都…

10-pytorch-完整模型训练

b站小土堆pytorch教程学习笔记 一、从零开始构建自己的神经网络 1.模型构建 #准备数据集 import torch import torchvision from torch.utils.tensorboard import SummaryWriterfrom model import * from torch.utils.data import DataLoadertrain_datatorchvision.datasets.…

3.openEuler物理存储及逻辑卷管理(一):磁盘存储挂载与使用

openEuler OECA认证辅导,标红的文字为学习重点和考点。 如果需要做实验,建议下载麒麟信安、银河麒麟、统信等具有图形化的操作系统,其安装与openeuler基本一致。 磁盘大类: HDD, (Hard Disk Drive的缩写) : 由一个或者多个铝制或者玻璃制成的磁性碟 片,磁头,…

C#最优队列最小堆小顶堆大顶堆小根堆大根堆PriorityQueue的使用

最优队列有多种叫法&#xff0c;什么小根堆&#xff0c;大根堆&#xff0c;小顶堆&#xff0c;大顶堆。 队列分多种&#xff0c;线性队列&#xff08;简单队列&#xff09;&#xff0c;循环队列&#xff0c;最优队列等等。 最优队列&#xff0c;可以看作堆叠箱子&#xff0c;…

指定指数x 计算e^x - 1 math.expm1(x)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 指定指数x 计算e^x - 1 math.expm1(x) 选择题 请问执行math.expm1(0)的运行结果是&#xff1a; import math print("【执行】math.expm1(0)") print (math.expm1(0)) print("【…

linux前端部署

安装jdk 配置环境变量 刷新配置文件 source profile source /etc/profile tomcat 解压文件 进去文件启动tomcat 开放tomcat的端口号 访问 curl localhsot:8080 改配置文件 改IP,改数据库名字&#xff0c;密码&#xff0c; 安装数据库 将war包拖进去 访问http:…

批量重命名新风尚:一键随机长度可控,轻松管理文件

在信息爆炸的时代&#xff0c;我们每天都在与大量的文件和文件夹打交道。有时&#xff0c;我们可能需要为这些文件或文件夹进行批量重命名&#xff0c;以便更好地整理和管理。但是&#xff0c;传统的重命名方法往往繁琐且效率低下&#xff0c;无法满足我们的需求。 首先第一步…