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

手撕算法(定制整理版2)

最长无重复子字符串

class Solution(object):def lengthOfLongestSubstring(self, s):""":type s: str:rtype: int"""if not s:return 0max_len = 0tp = []for a in s:while a in tp:del tp[0]tp.append(a)if len(tp) > max_len:max_len = len(tp)return max_len# ACM模式输入输出处理
if __name__ == "__main__":import sysfor line in sys.stdin:s = line.strip()sol = Solution()print(sol.lengthOfLongestSubstring(s))

把数组排成最小数,最大数,数组中的数组合出最大的数字

class Solution(object):def largestNumber(self, nums):""":type nums: List[int]:rtype: str"""def compare(x, y):xy = str(x) + str(y)yx = str(y) + str(x)return (xy > yx) - (xy < yx)  # 返回 -1, 0, 1nums.sort(cmp=compare)if not nums or nums[0] == 0:return "0"return ''.join(map(str, nums))

对称的二叉树

class Solution(object):def isSymmetric(self, root):""":type root: Optional[TreeNode]:rtype: bool"""if not root:return Truedef dfs(left, right):if not (left or right):return Trueif not (left and right):return Falseif left.val != right.val:return Falsereturn dfs(left.left, right.right) and dfs(left.right, right.left)return dfs(root.left, root.right)

回文数

class Solution(object):def isPalindrome(self, x):""":type x: int:rtype: bool"""if x < 0:return Falseans = 0prior = xwhile x > 0:temp = x % 10ans = ans * 10 + tempx //= 10return ans == prior# ACM模式输入输出处理
if __name__ == "__main__":import sysfor line in sys.stdin:# 处理输入:假设每行一个整数x = int(line.strip())sol = Solution()print(sol.isPalindrome(x))

最长回文子串

class Solution(object):def longestPalindrome(self, s):""":type s: str:rtype: str"""if len(s) < 2:return sres = ""for i in range(len(s)):# 奇数长度回文l, r = i, iwhile l >= 0 and r < len(s) and s[l] == s[r]:if r - l + 1 > len(res):res = s[l:r+1]l -= 1r += 1# 偶数长度回文l, r = i, i+1while l >= 0 and r < len(s) and s[l] == s[r]:if r - l + 1 > len(res):res = s[l:r+1]l -= 1r += 1return res# ACM模式输入输出处理
if __name__ == "__main__":import sysfor line in sys.stdin:s = line.strip()sol = Solution()print(sol.longestPalindrome(s))

子字符串在原字符串中出现的次数

def count_substring(string, sub_string):""":type string: str:type sub_string: str:rtype: int"""count = 0len_sub = len(sub_string)len_str = len(string)for i in xrange(len_str - len_sub + 1):if string[i:i+len_sub] == sub_string:count += 1return count

合并区间

class Solution(object):def merge(self, intervals):""":type intervals: List[List[int]]:rtype: List[List[int]]"""intervals.sort(key=lambda x: x[0])merged= []for interval in intervals:if not merged or merged[-1][1] <interval[0]:merged.append(interval)else:merged[-1][1] = max(merged[-1][1],interval[1])return merged

合并两个有序链表

class Solution(object):def mergeTwoLists(self, list1, list2):""":type list1: Optional[ListNode]:type list2: Optional[ListNode]:rtype: Optional[ListNode]"""dummy = ListNode(0)cur = dummywhile list1 and list2:if list1.val < list2.val:cur.next = list1list1 = list1.nextelse:cur.next = list2list2 = list2.nextcur = cur.nextcur.next = list1 if list1 else list2return dummy.next

反转链表

class Solution(object):def reverseList(self, head):""":type head: ListNode:rtype: ListNode"""cur = headpre = Nonewhile cur is not None:temp = cur.nextcur.next = prepre = curcur = tempreturn pre

数组找出乘积为n的两个数

写个函数来校验两个二叉树是否相同,要结构和值都相同

数组中出现最多的数字

def find_most_frequent(nums):""":type nums: List[int]:rtype: int"""if not nums:return Nonecount_dict = {}max_count = 0result = nums[0]for num in nums:if num in count_dict:count_dict[num] += 1else:count_dict[num] = 1if count_dict[num] > max_count:max_count = count_dict[num]result = numelif count_dict[num] == max_count:# 如果出现次数相同,返回数值较小的result = min(result, num)return result

滑动窗口

抖音电商测开

相关文章:

手撕算法(定制整理版2)

最长无重复子字符串 class Solution(object):def lengthOfLongestSubstring(self, s):""":type s: str:rtype: int"""if not s:return 0max_len 0tp []for a in s:while a in tp:del tp[0]tp.append(a)if len(tp) > max_len:max_len len(…...

python3:文件与异常

本来这篇教程是打算在base python数据类型之后出的&#xff0c;但是计划赶不上变化&#xff0c;反正最后都要融会贯通&#xff0c;今日有时间、今天遇到了类似的问题&#xff0c;就今天做这一模块的整理&#xff0c;顺序不是重点。 参考我的上一篇博客&#xff1a;https://blo…...

【兽医电子处方软件】佳易王宠物医院电子处方管理系统:宠物医院诊所用什么软件?一键导入配方模板软件程序实操教程 #操作简单 #宠物医院软件下载安装

一、概述 软件试用版资源文件下载方法&#xff1a; 【进入头像主页第一篇文章最后 卡片按钮 可点击了解详细资料 或左上角本博客主页 右侧按钮了解具体资料信息】 本实例以 佳易王宠物医院电子处方管理系统软件 为例说明&#xff0c;其他版本可参考本实例。试用版软…...

centos7.x下,使用宝塔进行主从复制的原理和实践

操作原理&#xff1a; 一、主库配置 1.修改 MySQL 配置文件 # 编辑主库配置文件&#xff08;路径根据实际系统可能不同&#xff09; vim /etc/my.cnf # 添加以下配置 [mysqld] server-id 1 # 唯一 ID&#xff0c;主库设置为 1 log-bin mysql-bin …...

langchain学习

无门槛免费申请OpenAI ChatGPT API搭建自己的ChatGPT聊天工具 https://nuowa.net/872 基本概念 LangChain 能解决大模型的两个痛点&#xff0c;包括模型接口复杂、输入长度受限离不开自己精心设计的模块。根据LangChain 的最新文档&#xff0c;目前在 LangChain 中一共有六大…...

从“听不懂”到“能对话”,声网AI让语音交互不再难用

人们谁懂啊&#xff01;做智能客服系统的真的被传统语音机器整怕了&#xff01;以前那些基于规则的 IVR 系统&#xff0c;“卡顿感” 拉满还总答非所问&#xff0c;用户说啥都像在对牛弹琴。不能打断、没有上下文、流程死板到离谱&#xff0c;动不动就来句 “请再说一遍”&…...

VSCode设置SSH免密登录

引言 2025年05月13日20:21:14 原来一直用的PyCharn来完成代码在远程服务器上的运行&#xff0c;但是PyCharm时不时同步代码会有问题。因此&#xff0c;尝试用VSCode来完成代码SSH远程运行。由于VSCode每次进行SSH连接的时候都要手动输入密码&#xff0c;为了解决这个问题在本…...

Windows Java gRPC 示例

gRPC是一个开源高性能远程过程调用(RPC)框架,因为这个框架最早是由Goolge开发的,这里的g 代表的也即是Google。 关于gRPC更多的概念介绍可以参考: gRPC 基本介绍 本篇快速介绍在Windows环境下使用 Java 语言如何实现 gRPC 的服务端和客户端调用。 1. 环境准备 JDK 21Ma…...

问题及解决02-处理后的图像在坐标轴外显示

一、问题 在使用matlab的appdesigner工具来设计界面&#xff0c;可以通过点击处理按钮来处理图像&#xff0c;并将处理后的图像显示在坐标轴上&#xff0c;但是图像超出了指定的坐标轴&#xff0c;即处理后的图像在坐标轴外显示。 问题图如下图所示。 原来的坐标轴如下图所…...

EasyX开发——绘制跟随鼠标移动的小球

游戏主循环&#xff1a; #include<graphics.h>int main() {initgraph(1280, 720);while (true){}return 0; } peekmessage函数&#xff1a;如果成功拉取到了消息&#xff0c;函数就会返回true&#xff0c;反之就会返回false 使用另外一个循环来不断地从消息队列当中拉取…...

【Qt开发】信号与槽

目录 1&#xff0c;信号与槽的介绍 2&#xff0c;信号与槽的运用 3&#xff0c;自定义信号 1&#xff0c;信号与槽的介绍 在Qt框架中&#xff0c;信号与槽机制是一种用于对象间通信的强大工具。它是在Qt中实现事件处理和回调函数的主要方法。 信号&#xff1a;窗口中&#x…...

APS排程系统(Advanced Planning and Scheduling,高级计划与排程系统)

APS排程系统&#xff08;Advanced Planning and Scheduling&#xff0c;高级计划与排程系统&#xff09;是一种基于供应链管理和约束理论的智能生产管理工具&#xff0c;旨在通过动态优化资源分配和生产流程&#xff0c;解决制造业中的复杂计划问题。以下是其核心要点解析&…...

使用聊天模型和提示模板构建一个简单的 LLM 应用程序

官方教程 官方案例 在上面的链接注册后&#xff0c;请确保设置您的环境变量以开始记录追踪 export LANGSMITH_TRACING"true" export LANGSMITH_API_KEY"..."或者&#xff0c;如果在笔记本中&#xff0c;您可以使用以下命令设置它们 import getpass imp…...

探索 C++23 的 views::cartesian_product

文章目录 一、背景与动机二、基本概念与语法三、使用示例四、特点与优势五、性能与优化六、与 P2374R4 的关系七、编译器支持八、总结 C23 为我们带来了一系列令人兴奋的新特性&#xff0c;其中 views::cartesian_product 是一个非常实用且强大的功能&#xff0c;它允许我们轻…...

【docker】--镜像管理

文章目录 拉取镜像启动镜像为容器连接容器法一法二 保存镜像加载镜像镜像打标签移除镜像 拉取镜像 docker pull mysql:8.0.42启动镜像为容器 docker run -dp 8080:8080 --name container_mysql8.0.42 -e MYSQL_ROOT_PASSWORD123123123 mysql:8.0.42 连接容器 法一 docker e…...

Stapi知识框架

一、Stapi 基础认知 1. 框架定位 自动化API开发框架&#xff1a;专注于快速生成RESTful API 约定优于配置&#xff1a;通过标准化约定减少样板代码 企业级应用支持&#xff1a;适合构建中大型API服务 代码生成导向&#xff1a;显著提升开发效率 2. 核心特性 自动CRUD端点…...

Hapi.js知识框架

一、Hapi.js 基础 1. 核心概念 企业级Node.js框架&#xff1a;由Walmart团队创建&#xff0c;现由社区维护 配置驱动&#xff1a;强调声明式配置而非中间件 插件架构&#xff1a;高度模块化设计 安全优先&#xff1a;内置安全最佳实践 丰富的生态系统&#xff1a;官方维护…...

Node.js 中的 URL 模块

一、URL 模块基础 1. 模块导入方式 // Node.js 方式 const url require(url);// ES 模块方式 (Node.js 14 或启用 ESM) import * as url from url; 2. 核心功能 解析 URL 字符串 格式化 URL 对象 URL 处理工具方法 WHATWG URL 标准实现 二、URL 解析与构建 1. 传统解…...

Java集合框架详解与使用场景示例

Java集合框架是Java标准库中一组用于存储和操作数据的接口和类。它提供了多种数据结构&#xff0c;每种数据结构都有其特定的用途和性能特点。在本文中&#xff0c;我们将详细介绍Java集合框架的主要组成部分&#xff1a;List、Set和Queue&#xff0c;并通过代码示例展示它们的…...

Ensemble Alignment Subspace Adaptation Method for Cross-Scene Classification

用于跨场景分类的集成对齐子空间自适应方法 摘要&#xff1a;本文提出了一种用于跨场景分类的集成对齐子空间自适应&#xff08;EASA&#xff09;方法&#xff0c;它可以解决同谱异物和异谱同物的问题。该算法将集成学习的思想与域自适应&#xff08;DA&#xff09;算法相结合…...

如何通过 Windows 图形界面找到 WSL 主目录

WSL(Windows Subsystem for Linux)是微软开发的一个软件层,用于在 Windows 11 或 10 上原生运行 Linux 二进制可执行文件。当你在 WSL 上安装一个 Linux 发行版时,它会在 Windows 内创建一个 Linux 环境,包括自己的文件系统和主目录。但是,如何通过 Windows 的图形文件资…...

深入 MySQL 查询优化器:Optimizer Trace 分析

目录 一、前言 二、参数详解 optimizer_trace optimizer_trace_features optimizer_trace_max_mem_size optimizer_trace_limit optimizer_trace_offset 三、Optimizer Trace join_preparation join_optimization condition_processing substitute_generated_column…...

每日一道leetcode

790. 多米诺和托米诺平铺 - 力扣&#xff08;LeetCode&#xff09; 题目 有两种形状的瓷砖&#xff1a;一种是 2 x 1 的多米诺形&#xff0c;另一种是形如 "L" 的托米诺形。两种形状都可以旋转。 给定整数 n &#xff0c;返回可以平铺 2 x n 的面板的方法的数量。返…...

FFmpeg在Android开发中的核心价值是什么?

FFmpeg 在 Android 开发中的核心价值主要体现在其强大的多媒体处理能力和灵活性上&#xff0c;尤其在音视频编解码、流媒体处理及跨平台兼容性方面具有不可替代的作用。以下是具体分析&#xff1a; --- 1. 强大的音视频编解码能力 - 支持广泛格式&#xff1a;FFmpeg 支持几乎所…...

C#进阶(1) ArrayList

前言 在我们进行了入门,基础,核心的学习后,我们已经学了相当多的知识了,不知道你现在对比打开入门时候的你,进步了多少。是否也能自己写一点简单的程序来作为小成就炫耀一下呢? 博主给你留的小项目你是否都有认真去复刻或者改进呢? 这些问题的答案只有你自己清楚。 …...

竞业禁止协议中AI技能限制的深度剖析

首席数据官高鹏律师团队 在当今科技飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;领域成为了商业竞争的关键战场。随着AI技术在各行业的广泛渗透&#xff0c;竞业禁止协议中涉及AI技能的限制条款愈发受到关注&#xff0c;其背后蕴含着复杂而关键的法律与商业…...

动态查找滚动容器(通用方案)

需求&#xff1a;点击置顶按钮返回页面的顶部&#xff0c;涉及产生滚动条的元素不唯一的情况&#xff0c;如果确定滚动元素的情况&#xff0c;直接元素.scrollTop 0 就实现置顶了 也是查了一段时间&#xff0c;这个方法很赞&#xff0c;递归寻找滚动元素 步骤 1&#xff1a;判…...

CD3MN 双相钢 2205 材质保温 V 型球阀:恒温工况下复杂介质控制的高性能之选-耀圣

CD3MN 双相钢 2205 材质保温 V 型球阀&#xff1a;恒温工况下复杂介质控制的高性能之选 在石油化工、沥青储运、食品加工等行业中&#xff0c;带颗粒高粘度介质与料浆的恒温输送面临着腐蚀、磨损、堵塞等多重挑战。普通阀门难以兼顾耐高温、强密封与耐腐蚀性&#xff0c;导致设…...

SpringBoot整合MyBatis-Plus:零XML实现高效CRUD

前言 作为一名开发者&#xff0c;数据库操作是我们日常工作中不可或缺的部分。传统的MyBatis虽然强大&#xff0c;但需要编写大量XML映射文件&#xff0c;这在快速开发的今天显得效率不足。MyBatis-Plus&#xff08;简称MP&#xff09;作为MyBatis的增强工具&#xff0c;在保留…...

python酒店健身俱乐部管理系统

目录 技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xf…...