Python每日一练(20230322)

news/2024/4/25 15:02:07/文章来源:https://blog.csdn.net/boysoft2002/article/details/129689987

目录

1. Excel表列序号  🌟

2. 单词拆分  🌟🌟

3. 删除有序数组中的重复项 II  🌟🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. Excel表列序号

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。

例如,

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入: columnTitle = "A"
输出: 1

示例 2:

输入: columnTitle = "AB"
输出: 28

示例 3:

输入: columnTitle = "ZY"
输出: 701

示例 4:

输入: columnTitle = "FXSHRXW"
输出: 2147483647

提示:

  • 1 <= columnTitle.length <= 7
  • columnTitle 仅由大写英文组成
  • columnTitle 在范围 ["A", "FXSHRXW"] 内

出处:

https://edu.csdn.net/practice/23387030

代码:

class Solution:def titleToNumber(self, s: str) -> int:ans = 0for i in range(len(s)):n = ord(s[i]) - ord("A") + 1ans = ans * 26 + nreturn anss = Solution()
print(s.titleToNumber("A"))
print(s.titleToNumber("AB"))
print(s.titleToNumber("ZY"))
print(s.titleToNumber("FXSHRXW"))

输出:

1
28
701
2147483647


2. 单词拆分

给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。

说明:

  • 拆分时可以重复使用字典中的单词。
  • 你可以假设字典中没有重复的单词。

示例 1:

输入: s = "leetcode", wordDict = ["leet", "code"]
输出: true
解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。

示例 2:

输入: s = "applepenapple", wordDict = ["apple", "pen"]
输出: true
解释: 返回 true 因为 "applepenapple" 可以被拆分成 "apple pen apple"。注意你可以重复使用字典中的单词。

示例 3:

输入: s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"]
输出: false

出处:

https://edu.csdn.net/practice/23387029

代码:

class Solution(object):def wordBreak(self, s, wordDict):""":type s: str:type wordDict: List[str]:rtype: bool"""if not s:return Truelenth = len(s)dp = [False for i in range(lenth + 1)]dp[0] = Truefor i in range(1, lenth + 1):for j in range(i):if dp[j] and s[j:i] in wordDict:dp[i] = Truebreakreturn dp[-1]s = Solution()
print(s.wordBreak(s = "leetcode", wordDict = ["leet", "code"]))
print(s.wordBreak(s = "applepenapple", wordDict = ["apple", "pen"]))
print(s.wordBreak(s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"]))

输出:

True
True
False


3. 删除有序数组中的重复项 II

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。

不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums);// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。
for (int i = 0; i < len; i++) {
print(nums[i]);
}

示例 1:

输入:nums = [1,1,1,2,2,3]
输出:5, nums = [1,1,2,2,3]
解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。 不需要考虑数组中超出新长度后面的元素。

示例 2:

输入:nums = [0,0,1,1,1,1,2,3,3]
输出:7, nums = [0,0,1,1,2,3,3]
解释:函数应返回新长度 length = 7, 并且原数组的前五个元素被修改为 0, 0, 1, 1, 2, 3, 3 。 不需要考虑数组中超出新长度后面的元素。

提示:

  • 1 <= nums.length <= 3 * 10^4
  • -10^4 <= nums[i] <= 10^4
  • nums 已按升序排列

出处:

https://edu.csdn.net/practice/23387031

代码:

class Solution:def removeDuplicates(self, nums):""":type nums: List[int]:rtype: int"""if nums is None:return 0length = len(nums)result = 0i = j = 0while i < length:j = iwhile j < length:if nums[j] != nums[i]:breakj += 1if j-i > 2:length -= j-i-2for k in range(j-i-2):del nums[i]result += 2j = i+2else:result += (j-i)i = jreturn result
# %%
s = Solution()
print(s.removeDuplicates(nums = [1,1,1,2,2,3]))
print(s.removeDuplicates(nums = [0,0,1,1,1,1,2,3,3]))

输出:

5
7

双指针:

class Solution:def removeDuplicates(self, nums: list) -> int:if len(nums) <= 2:return len(nums)slow = 2for fast in range(2, len(nums)):if nums[fast] != nums[slow - 2]:nums[slow] = nums[fast]slow += 1return slow# %%
s = Solution()
print(s.removeDuplicates(nums = [1,1,1,2,2,3]))
print(s.removeDuplicates(nums = [0,0,1,1,1,1,2,3,3]))

🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

🌟 收藏,你的青睐是我努力的方向! 

评论,你的意见是我进步的财富!  

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

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

相关文章

营销即服务!怎么做小程序店铺打造优质用户体验?

随着移动互联网的快速发展&#xff0c;小程序已经成为了许多企业打造优质用户体验的重要工具。一个好的小程序店铺能够为用户提供良好的购物体验&#xff0c;提高用户满意度和转化率。那么&#xff0c;怎么做小程序店铺打造优质用户体验呢&#xff1f; 一&#xff1a;做小程序店…

Linux 信号(signal):信号的捕捉流程

目录一、程序的运行状态二、信号捕捉流程在处理信号的时候&#xff0c;其实要经过一系列流程的&#xff0c;本文就来简单介绍一下信号处理的捕捉流程。 一、程序的运行状态 程序运行状态分为内核态和用户态。程序在运行库函数、用户自定义函数等第三方函数时就会在用户态运行&…

VSCode for C/C++ 插件

VSCode for C/C 插件功能性插件C/C【千万级下载&#xff01;】必选C/C Extension Pack【千万级下载&#xff01;】扩展包Code Runner【千万级下载&#xff01;必备】右键代码运行&#xff0c;格式化在终端的显示CMake、 CMake Integration、CMake Language Support、CMake Tool…

达梦数据库普通表转分区表

在生产环境中&#xff0c;数据库中一开始用的是普通表&#xff0c;但随着时间推移&#xff0c;数据量越来越大&#xff0c;可以考虑将普通表转换为分区表&#xff0c;提升数据库的性能。本文将介绍在DM8数据库中&#xff0c;实现将普通表转换为分区表的方法。环境说明数据库版本…

SpringBoot基础教程

springboot基础 一、springboot介绍 Spring Boot 提供一种快速使用spring的方式&#xff0c;基于约定大于配置的思想&#xff0c;可以让开发者不必在配置与逻辑业务中来回进行思维切换&#xff0c;全身心的投入到业务的代码编写中&#xff0c;从而大大提高了开发效率。2014年…

TypeScript的枚举与类型约束

● 上一章我们讲了 TS 的接口 ● 这一章, 我们就来聊一聊 TS 的枚举和约束 枚举 认识枚举 ● 在很多计算机语言中都有枚举的概念, 但是 JS 中是没有枚举这个概念的, 为了弥补这个缺憾 在 TS 加入了枚举类型 ● 什么是枚举呢 ? 枚举( mei ju ) : 枚举的意思就是一一列举,…

PyTorch 深度学习实战 | 基于 ResNet 的花卉图片分类

“工欲善其事&#xff0c;必先利其器”。如果直接使用 Python 完成模型的构建、导出等工作&#xff0c;势必会耗费相当多的时间&#xff0c;而且大部分工作都是深度学习中共同拥有的部分&#xff0c;即重复工作。所以本案例为了快速实现效果&#xff0c;就直接使用将这些共有部…

【C++初阶】六、模板初阶(函数模板+类模板)

文章目录泛型编程函数模板函数模板的概念函数模板的格式函数模板的原理函数模板的实例化模板参数的匹配原则类模板类模板的定义格式类模板的实例化泛型编程 引入 - 通用的交换函数 如果让你编写一个函数&#xff0c;用于两个数的交换。在C语言中&#xff0c;我们会用如下方法…

我让Chat GPT准备了几份SAP 顾问英文面试自我介绍的模板,大家感受一下

有个朋友说有个面试要用英文来做自我介绍&#xff0c;我灵机一动&#xff0c;不如让Chat GPT准备了几份SAP 顾问英文面试自我介绍的模板&#xff0c;大家感受一下。我看下来感觉写的还是中规中矩&#xff0c;可以一用&#xff0c;。 模板1 Sure, I can help you with that! Her…

【Java学习笔记】39.Java 多线程编程

Java 多线程编程 Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流&#xff0c;一个进程中可以并发多个线程&#xff0c;每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式&#xff0c;但多线程使用了更小的资源开销。 这里定义和…

navigator 拓宽前端视野

前言&#x1f490; 写本文的起因是最近做了一个共享屏幕在线演示ppt的需求&#xff0c;发现了navigator的新大陆。原来web端开启屏幕共享是如此的简单&#xff0c;在接触之前还以为是多么高大上的功能,需求评审时内心还有些慌张。 人总是对自己不了解的东西心生恐惧&#x1f6…

VMware虚拟机卸载详细教程

安装过VMware虚拟机的小伙伴&#xff0c;90%可能都会遇到这样的问题&#xff1a;安装容易&#xff0c;卸载难。而且卸载不干净&#xff0c;就会导致后续安装和使用出现各种Bug。今天就给大家详细说说如何彻底干净的从本机卸载VMware。 1. 卸载之前&#xff0c;需要先关闭VMware…

【ChatGPT】Notion AI 从注册到体验:如何免费使用

欢迎关注【youcans的GPT学习笔记】原创作品&#xff0c;火热更新中 【ChatGPT】Notion AI 从注册到体验1. Notion AI 介绍1.1 Notion AI 简介1.2 Notion AI 的核心能力1.3 Notion AI 与 ChatGPT 的比较2. Notion AI 国内用户注册2.1 PC 端用户注册2.2 移动端用户注册3. Notion …

如何用C语言实现渣男通讯录

注意&#xff1a;纯属玩笑&#xff0c;博大家一乐&#xff0c;切勿当真&#x1f4d6;首先我们要知道一个渣男通讯录有哪些信息要包含哪些功能1.你的通讯录要装多少个女朋友你得规定吧&#xff1b;2.每个女朋友的姓名&#xff0c;年龄&#xff0c;电话&#xff0c;爱好这些要有吧…

springboot项目中外卖用户下单业务功能之需求分析+数据模型+功能开发(详细步骤)

一、需求分析 移动端用户将菜品或者套餐加入到购物车后&#xff0c;可以点击购物车种的 去结算 按钮&#xff0c;页面跳转到订单确认页面&#xff0c;点击 去支付 按钮则完成下单操作。 二、数据模型 用户下单业务对应的数据表为orders表和order_detail表&#xff1a; order…

ESP32-CAM 环境搭建(离线)

云盘&#xff1a;Arduino IDE链接&#xff1a;https://pan.baidu.com/s/1yk_tKH8eK8okp5z9qv1TLg 提取码&#xff1a;pz2h内含&#xff1a;IDE arduino-ide_nightly-20230322_Windows_64bit.zipSDK esp32_package_2.0.5_arduinocn.exe步骤1&#xff0c;IDE为绿色版&#xff0c;…

57、C语言程序设计谭浩强第五章习题

1、输入两个正整数m和n,求其最大公约数和最小公倍数 辗转相除法&#xff1a; #include <stdio.h>int main(){int m,n,temp;scanf("%d %d",&m,&n);if(m<n){tempm;mn;ntemp;}int dn*m;int r;while(rm%n){mn;nr;}printf("最大公因数为:%d&#…

ONES 入选北大光华 MBA 整合实践项目,推动校企合作

近日&#xff0c;ONES 旗下开源问答社区软件 Answer 入选北京大学光华管理学院 MBA 整合实践项目&#xff0c;并受邀出席项目启动会。同时入选的还有国电投清洁能源基金、京东零售、瑞尔集团、美国丹纳赫集团、大众汽车&#xff08;中国&#xff09;和贝壳找房六家国内外知名企…

队列----数据结构

队列&#x1f506;队列的概念&#x1f506;队列的结构&#x1f506;队列的实现&#x1f506;设计循环队列&#x1f506;循环队列的结构&#x1f506;循环队列的实现&#x1f506;结语&#x1f506;队列的概念 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端…

5G、工业4.0、车载以太网……TSN时间敏感网络能给我们带来哪些市场机会?

TSN是一项面向未来的新兴技术&#xff0c;它定义了以太网数据传输的时间敏感机制&#xff0c;为标准以太网增加了确定性和可靠性&#xff0c;以确保数据实时、确定和可靠地传输。这些扩展使得以太网能够应用于更加广泛的行业中&#xff0c;进而带来了更多新的市场机会。 1. 5G…