Source

力扣LeetCode题库
App > LeetCode > 题库 > 题解

Notes

  1. 仔细审题,明确输入输出,通过测试用例。
  2. 先特殊,后寻常。
  3. 逆向思维。
  • 在条件语句中用!=代替==,提前终止循环,减少嵌套层级(else)

Debug环境

  1. VSCode > Extensions > LeetCode > Install
    在这里插入图片描述
  2. Leecode > Show Problem / Show Top Voted Solution / Code Now
    在这里插入图片描述
  3. Explorer > Code > Test | Submit
    默认功能只允许测试和提交
  4. Explorer > Debug
    准备Debug环境
  • 在launch.json文件中配置java环境
    在这里插入图片描述

  • 创建一个主类test.java
    在这里插入图片描述

  • 对应测试题Solution类改为S类,主类test.java中main函数中调用S()中的方法(避免多题Solution类冲突。同时记得测试完的题目中S类修改回Solution类)
    在这里插入图片描述

  • Run and Debug > Debug ▶️(左上角)
    在这里插入图片描述
    Refer to bli-video: How to set leetcode debug environment in vsCode
    Note: Debug leetcode extension supports python, js…

背景-为什么要创建DeBug环境?

LeetCode官方DeBug环境需要升级账户使用。

如何创建DeBug环境?

Easy

1. Two Sum

class Solution { // 定义一个名为Solution的类public int[] twoSum(int[] nums, int target) {int n = nums.length;for (int i = 0; i < n; ++i) {for (int j = i + 1; j < n; ++j) {if (nums[i] + nums[j] == target) {return new int[]{i, j};}}}return new int[0];}
}

9. Palindrome Number

Palindrome Number (回文数): A number that reads the same backward as forward.

Thoughts

  1. 将int转换为string需要额外非常量空间,优先考虑其他方式(进阶)
  2. -231 <= x <= 231-1 (int range): 反转可能溢出,反转一半数字
class Solution {public boolean isPalindrome(int x) {if (x < 0 || (x % 10 == 0 && x != 0)) {return false;}int revertedNumber = 0;while (x > revertedNumber) {revertedNumber = revertedNumber * 10 + x % 10;x /= 10;}return x == revertedNumber || x == revertedNumber / 10;}
}

13. Rome to Integer

The key intuition lies in the fact that in Roman numerals, when a smaller value appears before a larger value, it represents subtraction, while when a smaller value appears after or equal to a larger value, it represents addition.

class Solution {public int romanToInt(String s) {Map<Character, Integer> m = new HashMap<>();m.put('I', 1);m.put('V', 5);m.put('X', 10);m.put('L', 50);m.put('C', 100);m.put('D', 500);m.put('M', 1000);int ans = 0;for (int i = 0; i < s.length(); i++) {if (i < s.length() - 1 && m.get(s.charAt(i)) < m.get(s.charAt(i + 1))) {ans -= m.get(s.charAt(i));} else {ans += m.get(s.charAt(i));}}return ans;}
}

14. Longest Common Prefix

To find the longest common prefix, first sort the list lexicographically(字典序/字母序:基于Unicode编码/ASCII值). The longest common prefix will always be the shared prefix between the first and last strings in the sorted list. This works because if the lexicographically smallest string (‘flight’) and largest string (‘flower’) share a prefix, all middle strings must share that prefix too.

class Solution {public String longestCommonPrefix(String[] strs) {StringBuilder ans = new StringBuilder();Arrays.sort(strs); String first = strs[0], last = strs[strs.length-1]; for (int i = 0; i < Math.min(first.length(), last.length()); i++) {if (first.charAt(i) == last.charAt(i)) {ans.append(first.charAt(i));}return ans.toString();}return ans.toString();}
}

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

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

相关文章

AI绘画:生成唐初程咬金全身像提示词

根据唐代历史记载和艺术形象特征&#xff0c;以下是优化后的中文Midjourney 提示词&#xff0c;突出程咬金的猛将气质与唐初甲胄细节&#xff1a; 核心提示词&#xff08;战场形象&#xff09; 中年猛将程咬金&#xff0c;全身甲胄像&#xff0c;唐初光要甲制式&#xff1a;身…

【实时Linux实战系列】实时数据流处理框架分析

背景与重要性在当今数字化时代&#xff0c;数据的实时处理变得至关重要。无论是金融交易、工业自动化还是物联网&#xff08;IoT&#xff09;设备&#xff0c;都需要能够快速处理和响应数据流&#xff0c;以确保系统的高效运行和决策的及时性。实时Linux操作系统因其低延迟和高…

一周学会Matplotlib3 Python 数据可视化-Hello World编写

锋哥原创的Matplotlib3 Python数据可视化视频教程&#xff1a; 2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili Matplotlib3简介 Matplotlib 是 Python 最流行的数据可视化库之一&#xff0c;广泛应用于科学计算、数据分析、科研绘…

中国MCP市场:腾讯、阿里、百度的本土化实践

中国MCP市场&#xff1a;腾讯、阿里、百度的本土化实践 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般绚烂的技术栈中&#xff0c;我是那个永不停歇的色彩收集者。 &#x1f98b; 每一个优化都是我培育的花朵&#xff0c;每一个特性都是我放飞的…

房产证识别在房产行业的技术实现及应用原理

技术实现1. 图像采集与预处理图像获取&#xff1a;通过高分辨率扫描仪或手机摄像头获取房产证图像预处理技术&#xff1a;去噪处理&#xff08;消除扫描噪声&#xff09;图像增强&#xff08;提高对比度&#xff09;倾斜校正&#xff08;自动旋转至正确角度&#xff09;二值化处…

决策树技术详解:从理论到Python实战

​决策树像人类的思考过程&#xff0c;用一系列“是/否”问题层层逼近答案​一、决策树的核心本质决策树是一种模仿人类决策过程的树形结构分类/回归模型。它通过节点&#xff08;问题&#xff09;​​ 和 ​边&#xff08;答案&#xff09;​​ 构建路径&#xff0c;最终在叶节…

Herd-proof thinking

Let’s dive into “herd-proof thinking” — the mindset and tactics that help you stay sharp, independent, and immune to manipulative systems.&#x1f9e0; Part 1: The Foundation of Herd-Proof Thinking 1. Recognize Incentives“If you don’t know who the pr…

day068-DevOps基本知识与搭建远程仓库

文章目录0. 老男孩思想-传统文化1. 运维人员对网站集群的关注项2. CI、CD3. DevOps4. 环境5. Git5.1 **为什么叫 “Git”&#xff1f;**5.2 Git的核心设计理念5.3 Git工作空间5.4 分支 branch5.5 命令5.5.1 配置git用户信息5.5.2 初始化git仓库5.5.3 将文件放入暂存区5.5.4 提交…

分布式文件系统07-小文件系统的请求异步化高并发性能优化

小文件系统的请求异步化高并发性能优化222_分布式图片存储系统中的高性能指的到底是什么&#xff1f;重构系统架构&#xff0c;来实现一个高性能。然后就要做非常完善的一个测试&#xff0c;最后对这个系统做一个总结&#xff0c;说说后续我们还要做一些什么东西。另外&#xf…

【C#补全计划:类和对象(十)】密封

一、密封类1. 关键字&#xff1a;sealed2. 作用&#xff1a;使类无法再被继承&#xff1b;在面向对象设计中&#xff0c;密封类的主要作用是不允许最底层子类被继承&#xff0c;可以保证程序的规范性、安全性3. 使用&#xff1a;using System;namespace Sealed {// 使用sealed关…

【视觉识别】Ubuntu 22.04 上安装和配置 TigerVNC 鲁班猫V5

系列文章目录 文章目录系列文章目录前言一、问题现象二、安装和配置步骤1.引入库2.安装完整组件3.修改 ~/.vnc/xstartup4. 设置权限5. 设置开机自启&#xff08;Systemd 服务&#xff09;总结前言 开发平台&#xff1a;鲁班猫V5 RK3588 系统版本&#xff1a;Ubuntu 22.04 一、…

模拟-38.外观数列-力扣(LeetCode)

一、题目解析1、替换的方法&#xff1a;“33”用“23”替换&#xff0c;即找到相同的数&#xff0c;前一位为相同数的数量&#xff0c;后一位为相同的数2、给定n&#xff0c;需要返回外观数列的第n个元素二、算法原理由于需要统计相同元素的数目&#xff0c;所以可以使用双指针…

垃圾桶满溢识别准确率↑32%:陌讯多模态融合算法实战解析

原创声明本文为原创技术解析文章&#xff0c;涉及的技术参数与架构设计均参考自《陌讯技术白皮书》&#xff0c;转载请注明来源。一、行业痛点&#xff1a;智慧环卫中的识别难题随着智慧城市建设推进&#xff0c;垃圾桶满溢识别作为智慧环卫的核心环节&#xff0c;面临多重技术…

扫地机器人的几种语音控制芯片方案介绍

​扫地机器人语音控制芯片方案介绍在智能家居领域&#xff0c;扫地机器人的智能化程度不断提升&#xff0c;语音控制功能成为提升用户体验的关键因素。以下为您介绍几款常用于扫地机器人语音控制的芯片方案。WT2606B 芯片方案性能优势&#xff1a;基于先进的 RISC - V 32 位开源…

快速开发实践

基于后端项目的前端开发实践记录 &#x1f4cb; 项目概述 项目名称: 比特奥定制报表系统 技术栈: Vue 3 Element Plus Vite (前端) Spring Boot (后端) 开发模式: 前后端分离 项目结构: 单体仓库包含前后端代码 &#x1f3d7;️ 项目架构分析 目录结构设计 bitao-defined_re…

NFC 三大模式对比

以前以为nfc只是点对点通讯&#xff0c;没想到现在nfc的功能很强大NFC 三大模式对比&#xff08;回顾&#xff09;模式作用手机是...Reader 模式读取卡、标签内容主动设备&#xff08;读卡器&#xff09;Card Emulation 模式模拟公交卡/门禁卡/银行卡被动设备&#xff08;卡&am…

JSON、JSONObject、JSONArray详细介绍及其应用方式

第一部分&#xff1a;什么是JSON?&#x1f31f;比喻&#xff1a;JSON 是「快递公司统一的 “通用快递单”」&#x1f4a1;场景代入你想给朋友寄生日礼物&#xff08;比如一台 “游戏机”&#xff09;&#xff0c;这台游戏机有自己的属性&#xff1a;名称&#xff1a;"游戏…

Linux系统编程--权限管理

权限管理第二讲 权限管理1. Shell命令以及运行原理1.1 知识引入1.2 概念介绍1.3 具体示例2. Linux权限问题2.1 权限概念2.2 用户分类2.3 切换用户2.4 用户提权2.5 文件权限管理2.5.1 文件访问者的分类&#xff08;角色&#xff09;2.5.2 文件类型和访问权限&#xff08;事物属性…

【智能硬件】X86和ARM架构的区别

详细解释X86架构和ARM架构之间的区别以及它们各自的特点。X86 架构定义与历史定义&#xff1a;X86是一种计算机处理器体系结构&#xff0c;最初由英特尔公司开发。它是一系列指令集的集合体。历史&#xff1a;最早的X86架构是Intel 8086处理器&#xff0c;在1978年发布。后续发…

玳瑁的嵌入式日记D13-0806(C语言)

指针1.指针指针 就是地址(地址就是内存单元的编号)指针变量 (结合语境) eg&#xff1a;定义一个指针指针这一类数据 --- 数据类型 --- 指针类型 (1).指针 是什么 (2).指针类型 int a; //int数据类型 a是int型变量 //a的空间 想来存储 整型数据 2.指针的定义 基类型 * 指针变量名…