力扣刷题(复习版)

文章目录

    • 题目:最大重复子字符串
      • 题解
    • 题目: 面试题 16.07. 最大数值
      • 题解
    • 题目: 最大字符串配对数目
      • 题解
    • 题目: 字符串中第二大的数字
      • 题解
    • 题目: 统计最大组的数目
      • 题解
    • 题目: 删除每行中的最大值
      • 题解
    • 总结

题目:最大重复子字符串

原题链接:最大重复子字符串
在这里插入图片描述

题解

方法:暴力延长word的重复次数并比较,用contains()函数

 public static int maxRepeating(String sequence, String word) {int maxRepeat = 0;StringBuilder repeatedWord = new StringBuilder(word);// 循环尝试增加word的重复次数,直到不再是子字符串while (sequence.contains(repeatedWord)) {maxRepeat++;repeatedWord.append(word);}return maxRepeat;}

题目: 面试题 16.07. 最大数值

原题链接: 面试题 16.07. 最大数值

题解

方法:通过计算两个整数差值的符号位

表达式 a * (1 - sign) + b * sign 能够实现两个值的二选一效果

 public int maximum(int a, int b) {long diff = (long)a - (long)b;long sign = (diff >>> 63) & 1;return (int)(a * (1 - sign) + b * sign);}

题目: 最大字符串配对数目

原题链接: 最大字符串配对数目
在这里插入图片描述

在这里插入图片描述

题解

public static int maximumNumberOfStringPairs(String[] words) {HashSet<String> set = new HashSet<>();int count = 0;for (String word : words) {String reversed = "" + word.charAt(1) + word.charAt(0);// 检查反转字符串是否已经存在于 set 中if (set.contains(reversed)) {count++;}set.add(word);}return count;}

题目: 字符串中第二大的数字

原题链接: 字符串中第二大的数字
在这里插入图片描述

题解

方法1:

 public static int secondHighest(String s) {Set<Integer> set = new HashSet<>();for (char c : s.toCharArray()) {if (Character.isDigit(c)) {set.add(c - '0');}}int firstMax = -1;int secondMax = -1;for (Integer i : set) {if (i > firstMax) {secondMax = firstMax;firstMax = i;} else if (i > secondMax && i < firstMax) {secondMax = i;}}return secondMax;}

方法2:
先找到最大值删除,如果set不为空,继续寻找最大值(答案)

 public static int secondHighest11(String s) {Set<Integer> set = new HashSet<>();for (char c : s.toCharArray()) {if (Character.isDigit(c)) {set.add(c - '0');}}int maxValue = -1;for (Integer i : set) {if (i > maxValue) {maxValue = i;}}set.remove(maxValue);if (set.size() == 0) return -1;maxValue = -1;for (Integer i : set) {if (i > maxValue) {maxValue = i;}}return maxValue;}

题目: 统计最大组的数目

原题链接: 统计最大组的数目
在这里插入图片描述

题解

方法:利用 map 将相同的数位和作为键(哈希表)

public static int sumDigit(int i) {int res = 0;while (i > 0) {res += i % 10;i /= 10;}return res;
}public static int countLargestGroup(int n) {int maxCnt = 0;HashMap<Integer, Integer> map = new HashMap<>();for (int i = 1; i <= n; i++) {int sum = sumDigit(i);int count = map.getOrDefault(sum, 0) + 1;map.put(sum, count);maxCnt = Math.max(maxCnt, count);}int res = 0;for (Integer value : map.values()) {if (value == maxCnt) {res++;}}return res;
}

题目: 删除每行中的最大值

原题链接: 删除每行中的最大值
在这里插入图片描述

题解

方法:通过逐列查找每一行未使用的最大值,并将其标记为已使用,然后将每列的最大值累加得到最终结果。主要利用 used 数组来跟踪已经处理过的元素

public boolean[][] used = new boolean[51][51];// 找到一行中最最大的元素  并标记已处理public int findMaxByRow(int[][] grid, int row) {int maxValue = -1;int maxIndex = -1;for (int i = 0; i < grid[0].length; i++) {if (!used[row][i] && grid[row][i] > maxValue) {maxValue = grid[row][i];maxIndex = i;}}if (maxIndex != -1) {used[row][maxIndex] = true;}return maxValue;}public int deleteGreatestValue(int[][] grid) {int res = 0;for (int j = 0; j < grid[0].length; j++) { int maxValue = -1;for (int i = 0; i < grid.length; i++) { int maxByRow = findMaxByRow(grid, i);if (maxValue < maxByRow)maxValue = maxByRow;}res += maxValue;}return res;}

总结

  1. 拿到一个题目要认真读题(建议读2遍),没思路可以看一下提示,有时候提示会给你一些解题思路的
  2. 不要被给的输入输出示例迷惑了,有时候会干扰你解题的

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

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

相关文章

Commons Lang库中,StringUtils.isBlank()和StringUtils.isEmpty()区别

在Apache Commons Lang库中&#xff0c;StringUtils.isBlank()和StringUtils.isEmpty()方法都是用来判断字符串是否为空或者空白的。它们的主要区别在于处理空格的方式上。 StringUtils.isEmpty(String str): 这个方法会返回true当字符串为null或者长度为0时。也就是说&#xf…

酸敏感多肽在药物递送方面的作用机制及其应用

摘要: 作为一类新型的递送载体&#xff0c;多肽具有丰富的生物活性、较低的免疫原性及良好的生物相容性&#xff0c;近年来利用多肽递送药物或基因的研究得到广泛关注。其中&#xff0c;具有酸敏感性的多肽&#xff0c;在肿瘤微环境或溶酶体的弱酸性条件下可以产生二级结构的改…

【bug】可图文生图模型 KolorsPipeline IndexError: list index out of range

【bug】可图文生图模型 KolorsPipeline IndexError: list index out of range 环境 linux diffusers 0.30.0问题详情 报错详情 from diffusers import KolorsPipelineTraceback (most recent call last):File "Kolors/demo.py", line 6, in <module>pi…

Circuitjs 利用标签(label)简化电路连线

在使用 circuitjs 绘制电路的过程中, 一旦电路变得复杂, 连线众多, 然后各种交叉就不可避免, 给人一种凌乱的感觉, 而某些跨越长距离的连线连接起来也特别麻烦, 后续如果要调整也特别繁琐. 为解决这些问题, 需要引入一种 虚拟连接 的方式, 简单讲就是在要连接的两头用同样的名…

Web-ssrfme

文章目录 环境分析攻击 环境 首先下载资源包&#xff0c;Ubuntu通过docker拉取环境。 docker-compose up -d分析 <?php highlight_file(__file__); function curl($url){ $ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);e…

Zombie Slayer(僵尸枪手第三人称射击模板)

特征: -3个独特的玩家。 -4个独特的僵尸。 -三种类型的武器。手枪、突击步枪和手榴弹。 -2个独特的地点。墓地。 -武器升级系统。 易于添加新武器、等级、敌人。 下载:​​Unity资源商店链接资源下载链接 效果图:

网络优化2|最小生成树|Kruskal|Prim|Matlab

最小生成树问题 树 连通图 G ( V , E ) G(V,E) G(V,E)&#xff0c;若G中不含任何回路&#xff0c;则称G为树。 ∣ V ∣ 1 |V |1 ∣V∣1时称之为平凡树 生成树 G ( V , E ) G(V,E) G(V,E)&#xff0c;若G的一个生成子图是一棵树&#xff0c;则称之为G的一棵生成树&#…

Vue3+Ts封装input组件时遇到的问题

使用input事件监听输入框变化时&#xff0c;如果当前使用的输入法是中文&#xff0c;他也会触发input事件&#xff0c;正常来说&#xff0c;中文没有输入完毕是不用触发事件的。 控制台打印时发现&#xff1a; 那么我们应该怎么去规避这件事呢&#xff1f; 其实input还有几个事…

echarts地图-单独给香港和澳门画引导线

因为香港特别行政区和澳门特别行政区的名字特别长又需要显示全名 所以显示在地图上会挤在一起&#xff0c;所以根据天地图的坐标来加了两个引导线&#xff08;echarts5以下&#xff01;&#xff01;&#xff01;&#xff09; var fullName {北京: 北京市,天津: 天津市,河北: …

利用深度学习技术来实现街景图像的语义分割(街景图像语义分割)

本项目致力于利用深度学习技术来实现街景图像的语义分割。通过精确地识别和分类图像中的每个像素&#xff0c;该技术能够自动划分出街道、人行道、车辆、行人等各种不同的物体类别。这在智能交通系统、自动驾驶、城市规划等领域有着广泛的应用前景。 技术实现 深度学习模型&am…

从永远到永远-日语学习-て形用法及变形规律

て形用法及变形规律 0.前置知识1.常见用法1.请求某人做某事 「&#xff5e;てください」2.几个连续发生的动作 &#xff5e;て、&#xff5e;て、&#xff5e;て3.两个动作先后发生「てから」4. 表示许可 「てもいいです」5.表示禁止 「&#xff5e;てはいけません」6.「&#…

IPv4和IPv6的区别是什么?什么是局域网和广域网,公网IP和私有IP?

文章目录 1.基本网络2.局域网3.广域网4.IPv4与NAT5.公网IP和私有IP6.IPv6 1.基本网络 我们都知道计算机的数据都是存在各自硬盘中的,与其他计算机之间没有人任务关系. 假设计算机A需要给计算机B发送数据,可以选择使用U盘这类移动存储数据来拷贝数据来实现数据交互,但是这样一…

Docker 部署 Kafka 可视化 Kafka-UI

前言 本文部署的Kafka-UI 是基于Docker Compose 部署 Kafka的KRaft模式&#xff0c;如有需要可访问下文链接 Docker Compose 部署 Kafka的KRaft模式 不用依赖 Zookeeper 此部署也适用于不是docker部署的kafka集群 1.启动 Kafka-UI 服务 1.1 kafka 来自docker安装 docker r…

swagger,Knife4j和Yapi

目录 swagger swagger的作用 swagger的使用 一.导入依赖 二.创建swagger配置类&#xff0c;交给SpringIoC容器管理 三.使用swagger依赖的注解来给接口层(controller)的各种方法进行注释 Api ApiOperation ApiImplicitParam ApiModel ApiModelProperty 四&#xff1a;…

mac苹果电脑配置Docker最新国内源

如图&#xff1a; 具体配置如下: {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["https://docker.anyhub.us.kg", &…

ssrf漏洞之php-fpm未授权访问漏洞利用

目录 环境搭建 ​编辑漏洞点寻找 开始攻击 结果 环境搭建 在你的网站目录下创建一个新的php文件&#xff0c;内容如下 <?php highlight_file(__FILE__); $url $_GET[url]; $curl curl_init($url); curl_setopt($curl, CURLOPT_HEADER, 0); $responseText curl_exec…

ES6笔记总结:第四天(ES6完结)

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; node的模块化&#xff1a; 1.CommonJS 规范&#xff1a;Node.js 遵循 CommonJS 模块规范&#xff0c;该规范定义了如何在服务器环境中实现模块化&#xff0c;包括如何定义模块、如何引入和使用模块。 2.模块的定义&…

CISAW信息安全保障人员考试合格分数是多少?

在网络安全领域&#xff0c;众多认证证书中&#xff0c;CISAW信息安全保障人员认证备受瞩目。 随着信息安全专家的需求激增&#xff0c;国内面临着专业人才的短缺&#xff0c;越来越多人投身于CISAW认证考试。 那么&#xff0c;要通过CISAW认证需多少分数呢&#xff1f;答案是…

【知识图谱】2.知识抽取与知识存储

目录 一、知识抽取 1、实体命名识别&#xff08;Name Entity Recognition&#xff09; 2、关系抽取&#xff08;Relation Extraction&#xff09; 3、实体统一&#xff08;Entity Resolution&#xff09; 4、指代消解&#xff08;Coreference Resolution&#xff0…

【面试问题汇总】

面试问题汇总: Math.round函数:基础加0.5,向下取整 MySQL查询执行流程: 当我们执行一条SQL查询语句时,MySQL数据库会按照以下步骤进行处理: 语法解析器会对SQL语句进行解析,检查SQL语法是否正确。元数据查询器会检查查询的表和字段是否存在,以及当前用户是否具有相应…