首页 > 其他分享 >面试题记录

面试题记录

时间:2024-04-10 17:23:57浏览次数:23  
标签:面试题 return 示例 ## nums prefix seen 记录

1.# 编写一个函数来查找字符串数组中的最长公共前缀。
# 如果不存在公共前缀,返回空字符串
# ""。
#
# 示例
# 1:
# 输入:strs = ["flower", "flow", "flight"]
# 输出:"fl"
# 示例
# 2:
# 输入:strs = ["dog", "racecar", "car"]
# 输出:""
# 解释:输入不存在公共前缀。


def longest_common_prefix(strs):
if not strs:
return ""
prefix = strs[0]
for s in strs[1:]:
while s and not s.startswith(prefix):
prefix = prefix[:-1]
if not prefix:
return ""
if not prefix:
return ""
return prefix

2.# 给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。
#
# 示例 1:
# 输入:nums = [1,2,3,1,2,3], k = 2
# 输出:false
#
# 示例 2:
# 输入:nums = [1,0,1,1], k = 1
# 输出:true

def contains_pair_within_k(nums, k):
seen = set() # 用来存储最近 k 个索引处的元素值
for i, num in enumerate(nums):
if num in seen:
# 如果当前元素已经在集合中出现过,检查索引差是否满足条件
if abs(i - list(seen).index(num)) <= k:
return True
# 将当前元素及其索引添加到集合中
seen.add(num)
# 如果集合大小超过 k,则移除最旧的元素(即索引最小的元素)
if len(seen) > k:
seen.remove(nums[i - k])
return False

3.# 给定一个只包括 '(',')','<','>','{','}','[',']' 的字符串 s ,判断字符串是否有效。
#
# 有效字符串需满足:
# 1、左括号必须用相同类型的右括号闭合。
# 2、左括号必须能顺序地正确闭合。
# 3、每个右括号都有一个对应的相同类型的左括号。
#
# 示例 1:
# 输入:s = "([)]"
# 输出:false
#
# 示例 2:
# 输入:s = "[<>({})]"
# 输出:true
def isValid(s: str) -> bool:
stack = []
opening_brackets = set('([{<')
closing_brackets = set(')]}>')
bracket_map = {')': '(', ']': '[', '}': '{', '>': '<'}

for char in s:
if char in opening_brackets:
stack.append(char)
elif char in closing_brackets:
if not stack or bracket_map[char] != stack.pop():
return False

return len(stack) == 0


标签:面试题,return,示例,##,nums,prefix,seen,记录
From: https://www.cnblogs.com/Lccccccccc/p/18126469

相关文章

  • CF1466H 做题记录
    link非常adhoc的题,但是值得一练的好题!一眼下去,我们会发现这个条件真的太过于抽象,根本无法想象。注意到题目给了我们一个关键信息:一个排列组\(\{b_1,b_2,...,b_n\}\)对应唯一的好的分配方案。考虑建立图论模型:每个人的编号向最喜欢的物品编号连边,形成一棵内向基环树森林。......
  • Linux清除记录的常见方式
    隐藏远程SSH登陆记录清除当前的history记录隐藏Vim的操作记录隐藏文件修改时间锁定文件清除系统日志痕迹1.隐藏远程SSH登陆记录隐身登录系统,不会被w、last等指令检测到。[email protected]/bin/bash-i-T表示不分配伪终端,/usr/bin/bash表示在登录后......
  • 采用自定义注解 和 AOP 完成日志记录
    1、声明一个自定义注解@Retention注解包含一个RetentionPolicy类型的属性value,用于指定注解的保留策略,常用的保留策略包括:RetentionPolicy.SOURCE:表示注解仅在源代码中保留,编译器编译时会将其忽略,不会保存在编译后的字节码中。RetentionPolicy.CLASS:表示注解在编译后的......
  • 关于需要root权限启动图形应用记录
    关于需要root权限启动图形应用记录环境Kernel:6.8.4-arch1-1OS:ArchLinuxx86_64DE:hyprland问题来源在vmware中安装win11,想更改Edit>Preferences>Memory到"FitallvirtualmachinememoryintoreservedhostRAM"来提高访问内存效率,但必须用root运行vmware才能改变......
  • Vue — Vue面试题:Vue3.0 特性
    CompositionAPI(组合式API):CompositionAPI允许开发者将逻辑按照功能或者相关性进行组织,而不是按照选项的不同部分(如data、methods、computed等)来分散代码。这种方式更灵活、更易于复用和维护,特别适用于编写大型复杂的组件。基于Proxy的响应式系统:Vue3中的响应式系统基于ES6......
  • C++笔试面试题整理
    常见C++笔试面试题整理1.C和C++的区别C是面向过程的语言,是一个结构化的语言,考虑如何通过一个过程对输入进行处理得到输出;C++是面向对象的语言,主要特征是“封装、继承和多态”。封装隐藏了实现细节,使得代码模块化;派生类可以继承父类的数据和方法,扩展了已经存在的模块,实现......
  • 前端面试题 — 前端页面性能优化
    1.减少HTTP请求:合并和压缩CSS、JavaScript和图片等静态资源。使用雪碧图来减少图片请求次数。使用字体图标代替图片图标,以减少HTTP请求。使用CSSSprites技术将多个小图标合并成一张大图来减少HTTP请求。2.优化资源加载:将JavaScript放在页面底部,以确保页面内容先加载。......
  • 2024最新软件测试【测试理论+ 抓包与网络协议】面试题(内附答案)
    一、测试理论3.1你们原来项目的测试流程是怎么样的?我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。 1、需求了解分析阶段我们的SE会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议,我们会把不明白不理解的需求在会议上说出来,包......
  • 2024最新软件测试【测试理论+ 接口测试】面试题(内附答案)
    一、测试理论3.1你们原来项目的测试流程是怎么样的?我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。 1、需求了解分析阶段我们的SE会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议,我们会把不明白不理解的需求在会议上说出来,包......
  • 整理一部分docker面试题
    docker无法访问部署服务怎么解决?dockercontainerexec-it容器名称sh连接容器。dockercontainerstart容器名称启动容器。yum-yinstallbridge-utilsbrctlshowdocker0检查docker0的连接的网卡接口。sysctl-wnet.ipv4.ip_forward=1临时修改内核参数。doc......