leetcode热题100刷题计划

题目3

无重复字符的最长子串

思路

滑动窗口,设定当前窗口左侧为i,右侧为right,当到达右侧边界时,记录长度,
然后删掉最左侧的字符,即i+1;right则继续向后搜。

代码

public int lengthOfLongestSubstring(String s) {// 哈希集合,记录每个字符是否出现过Set<Character> occ = new HashSet<Character>();int n = s.length();// 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动int rk = -1, ans = 0;for (int i = 0; i < n; ++i) {if (i != 0) {// 左指针向右移动一格,移除一个字符occ.remove(s.charAt(i - 1));}while (rk + 1 < n && !occ.contains(s.charAt(rk + 1))) {// 不断地移动右指针occ.add(s.charAt(rk + 1));++rk;}// 第 i 到 rk 个字符是一个极长的无重复字符子串ans = Math.max(ans, rk - i + 1);}return ans;}

题目128

最长连续序列

思路

  1. 先把序列遍历到set当中
  2. 设以k为起点的序列,如果有k+1,k+2存在,则直接长度响应增加。
  3. 为了防止重复记录,如果有k-1存在,则条件2必然满足;所以只有在k-1不存在时,才会去执行2条件

代码

public int longestConsecutive(int[] nums) {Set<Integer> numset=new HashSet<Integer>();for(int num:nums){numset.add(num);}int longestStreak=0;for(int num:nums){if(!numset.contains(num-1)){int current=num;int curlength=1;while(numset.contains(current+1)){current++;curlength++;}longestStreak=Math.max(longestStreak,curlength);}}return longestStreak;}

题目102

二叉树的层次遍历

思路

使用队列。同层结点会一起输出。每次循环时,把队列里的所有元素出队并且把各自的孩子结点进队,如此这般就是一层一层的层次遍历。

代码


class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> result=new LinkedList<>();Queue<TreeNode> queue=new LinkedList<>();if(root==null){return result;}queue.add(root);while(!queue.isEmpty()){int size=queue.size();List<Integer> temp=new LinkedList<>();//全部出队,保证这层全部输出while(size>0){TreeNode t=queue.poll();temp.add(t.val);if(t.left!=null)queue.add(t.left);if(t.right!=null)queue.add(t.right);size--;}result.add(temp);}return result;}
}

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

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

相关文章

面试题之——Cookie和Session的区别

面试题之——Cookie和Session的区别 一.存储位置 Cookie存储在客户端&#xff08;浏览器&#xff09;当中Session存储在服务器当中 二.安全性 Cookie由于存储在客户端当中&#xff0c;Cookie数据可以被用户或其他恶意程序直接访问和修改&#xff0c;因此存在被窃取或篡改的…

mysql数据库入门到精通-Windows版本mysql安装(1)

文章目录 一、数据库介绍1.1、数据库概念1.2、为什么要使用数据库1.3、关系型数据库与非关系型数据库1.4、数据库术语1.5、mysql下载及地址 二、安装mysql数据库三、mysql的管理工具3.1、mysql command line client使用 四、SQL结构化查询语言4.1、SQL概述4.2、SQL发展4.3、SQL…

水牛社:专为创业者和网赚小白精心打造的助手

近几年来&#xff0c;经济发展快是快&#xff0c;物价也在蹭蹭往上涨&#xff0c;但工资却不见明显提升&#xff0c;随着生活成本的增加&#xff0c;单单靠工资&#xff0c;已经很难维持生活开支&#xff0c;加之疫情的影响&#xff0c;很多行业发展不景气&#xff0c;一些岗位…

医学大数据|统计基础|医学统计学(笔记):开学说明与目录

开始学习统计基础&#xff0c;参考教材&#xff1a;医学统计学第五版 点点关注一切来学习吧 责任编辑&#xff1a;医学大数据刘刘老师&#xff1a;头部医疗大数据公司医学科学部研究员 邮箱&#xff1a;897282268qq.com 久菜盒子工作室 我们是&#xff1a;985硕博/美国全奖…

python 输入和输出

在 Python 中&#xff0c;输入和输出是最基本的操作之一。你可以使用内置函数 input() 来获取用户输入&#xff0c;使用 print() 函数来输出信息到控制台。 输入&#xff08;Input&#xff09; input() 函数用于从用户那里获取输入。这个函数会将用户的输入作为字符串返回。 示…

安装sqlserver2022最新版只能使用.\SQLEXPRESS登录数据库怎么修改成.

.\SQLEXPRESS “服务器名称 localhost\SQLEXPRESS”中的 “SQLEXPRESS”就是数据库的实例名称/数据库名/服务器名&#xff0c; “localhost”即登录本计算机安装的数据库 安装sqlserver2022最新版只能使用.\SQLEXPRESS登录数据库怎么修改成. 2、查看SQL Server数据库的实例名…

2024年腾讯云学生服务器活动详细说明、学生机购买流程

2024年腾讯云学生服务器优惠活动「云校园」&#xff0c;学生服务器优惠价格&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G配置842.4元一年&…

代码随想录算法训练营Day53 | 1143.最长公共子序列、1035.不相交的线、53.最大子数组和

1143.最长公共子序列 这题和 718.最长重复子数组 的主要差别在于子序列不要求连续了 这样的话哪怕 nums1[i - 1] 和 nums2[j - 1] 不相等也需要继承之前的最长公共子序列&#xff0c;具体继承什么&#xff1f;继承的是DP数组矩阵中左上方区域&#xff08;包含本行和本列的&am…

ctfshow-php特性

大佬文章 intval 的绕过 正则匹配 sha1 和 md5 的绕过 php 运算符优先级 php://fliter 的各种过滤器 正则匹配的回溯 php 正则匹配最大回溯 linux 的 curl命令用法 无回显 rce 的总结 命令执行总结 本文中引用的所有文章都在上面了&#xff0c;感谢各位大佬&#xf…

【java 基础】闲话 ClassLoader 和 资源读取

文章目录 ClassLoader再探tomcat的类加载器spring 的类加载器springboot 的类加载器 正确获取ClassLoader获取当前线程的ContextClassLoader加载当前类的ClassLoader不常用的获取 ClassLoader的方法 使用ClassLoader的读取资源ClassLoader 有几个常用的资源加载方法Class 的资源…

【操作系统概念】 第7章:死锁

文章目录 0.前言7.1 系统模型7.2 死锁特征7.2.1 必要条件7.2.2 资源分配图 7.3 死锁处理方法7.4 死锁预防&#xff08;deadlock prevention&#xff09;7.4.1 互斥7.4.2 占有并等待7.4.3 非抢占7.4.4 循环等待 7.5 死锁避免&#xff08;deadlock-avoidance&#xff09;7.5.1 安…

b站小土堆pytorch学习记录—— P25-P26 网络模型的使用和修改、保存和读取

文章目录 一、修改1.方法2.代码 二、保存和读取1.方法2.代码&#xff08;1&#xff09;保存&#xff08;2&#xff09;加载 3.陷阱 一、修改 1.方法 add_module(name: str, module: Module) -> None name 是要添加的子模块的名称。 module 是要添加的子模块。 调用 add_m…

练习 6 Web [极客大挑战 2019]HardSQL

[极客大挑战 2019]HardSQL 先尝试登录&#xff0c;查看报错信息 admin 111 password 1111 登录失败admin 111 password 1’or’1 登录成功 这里直接试了万能密码成功&#xff0c;复习一下&#xff0c;第一个 ’ 是为了闭合前面的sql语句&#xff0c;最后的1后面没有 ’ 是因为…

如何学习I2C协议

文章目录 学习I2C协议0 懒人直达1 了解协议开发者2 从恩智浦半导体公司下载官方技术文档3 翻译成中文4 资源下载 学习I2C协议 0 懒人直达 点击直达 1 了解协议开发者 I2C&#xff08;Inter-Integrated Circuit&#xff09;协议是由荷兰皇家飞利浦电子公司&#xff08;现恩智…

008-跨域

跨域 什么是跨域&#xff1f;非同源限制跨域解决方案CORSJSONP服务器进行第三方代理webscoketwindow.postMessage 什么是跨域&#xff1f; 同源策略&#xff1a;协议相同、域名相同、端口号相同 的两个页面被认为是同源。 由一个页面的 js 访问不同源的页面内容&#xff0c;被…

Window11 Ubuntu双系统安装

一、制作启动盘 ubuntu下载&#xff1a;https://cn.ubuntu.com/download 启动盘工具&#xff1a;https://cdimage.deepin.com/applications/deepin-boot-maker/windows/deepin-boot-maker.exehttps://cdimage.deepin.com/applications/deepin-boot-maker/windows/deepin-boot…

HTTP代理ip如何助旅游大数据领域?怎么去建立安全代理隧道连接?

HTTP代理IP在旅游大数据领域的应用主要体现在以下几个方面&#xff1a; 数据抓取&#xff1a;旅游大数据的获取往往需要从各种在线旅游平台、社交媒体、评论网站等抓取数据。使用HTTP代理IP可以在抓取过程中隐藏真实IP&#xff0c;避免被目标网站封锁&#xff0c;从而持续、稳定…

LeetCode 刷题 [C++] 第300题.最长递增子序列

题目描述 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 题目…

代码随想录算法训练营第25天|● 216.组合总和|||● 17.电话号码的字母组合

216.组合总和||| 思路:这题和77题的组合思路差不多一样,只是多了一步判断加起来的和是否和目标值相等,并且回溯需要把相应的值减去。 代码: vector<vector<int>> result;vector<int> path;void backtracking(int k,int targetSum,int sum,int startIndex)…

CTP-API开发系列之五:SimNow环境介绍

CTP-API开发系列之五&#xff1a;SimNow环境介绍 CTP-API开发系列之五&#xff1a;SimNow环境介绍SimNow模拟测试环境第一套第二套登录关键字段可视化终端常见问题 CTP-API开发系列之五&#xff1a;SimNow环境介绍 如果你要研发一套国内期货程序化交易系统&#xff0c;从模拟测…