41-50题矩阵和字符串 在Java中,将大写字符转换为小写字符的方法主要有以下几种:

20240723

  • 一、数组最后几个和字符串的两个
    • 448. 找到所有数组中消失的数字(和645. 错误的集合差不多)
    • 283. 移动零
    • 118. 杨辉三角
    • 119. 杨辉三角 II
    • 661. 图片平滑器(没看懂)
    • 598. 区间加法 II
    • 566. 重塑矩阵
    • 303. 区域和检索 - 数组不可变
    • 520. 检测大写字母
    • 125. 验证回文串
  • 二、在Java中,将大写字符转换为小写字符的方法主要有以下几种:

一、数组最后几个和字符串的两个

448. 找到所有数组中消失的数字(和645. 错误的集合差不多)

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

class Solution {public List<Integer> findDisappearedNumbers(int[] nums) {int n = nums.length;int[] count = new int[n + 1]; // 1 到 n 的范围,所以数组长度为 n + 1// 记录出现的数字for (int x : nums) {count[x] = 1;}List<Integer> result = new ArrayList<>();// 查找缺失的数字for (int i = 1; i <= n; i++) {if (count[i] == 0) {result.add(i);}}return result;}
}

283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

class Solution {public void moveZeroes(int[] nums) {if(nums==null){return;}//两个指针i和jint j = 0;for(int i=0;i<nums.length;i++) {//当前元素!=0,就把其交换到左边,等于0的交换到右边if(nums[i]!=0) {int tmp = nums[i];nums[i] = nums[j];nums[j++] = tmp;}}}
}

118. 杨辉三角

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:

输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> ret = new ArrayList<List<Integer>>();for(int i=0;i<numRows;++i){List<Integer> row =new ArrayList<Integer>();for(int j=0;j<=i;++j){if(j==0||j==i){row.add(1);}else{row.add(ret.get(i - 1).get(j - 1) + ret.get(i - 1).get(j));}}ret.add(row);}return ret;}
}

119. 杨辉三角 II

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

class Solution {public List<Integer> getRow(int rowIndex) {List<Integer> row = new ArrayList<Integer>();row.add(1);for (int i = 1; i <= rowIndex; ++i) {row.add((int) ((long) row.get(i - 1) * (rowIndex - i + 1) / i));}return row;}
}

661. 图片平滑器(没看懂)

图像平滑器 是大小为 3 x 3 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。

每个单元格的 平均灰度 定义为:该单元格自身及其周围的 8 个单元格的平均值,结果需向下取整。(即,需要计算蓝色平滑器中 9 个单元格的平均值)。

如果一个单元格周围存在单元格缺失的情况,则计算平均灰度时不考虑缺失的单元格(即,需要计算红色平滑器中 4 个单元格的平均值)

class Solution {public int[][] imageSmoother(int[][] img) {int m = img.length, n = img[0].length;int[][] ret = new int[m][n];for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {int num = 0, sum = 0;for (int x = i - 1; x <= i + 1; x++) {for (int y = j - 1; y <= j + 1; y++) {if (x >= 0 && x < m && y >= 0 && y < n) {num++;sum += img[x][y];}}}ret[i][j] = sum / num;}}return ret;}
}

598. 区间加法 II

给你一个 m x n 的矩阵 M 和一个操作数组 op 。矩阵初始化时所有的单元格都为 0 。ops[i] = [ai, bi] 意味着当所有的 0 <= x < ai 和 0 <= y < bi 时, M[x][y] 应该加 1。

在 执行完所有操作后 ,计算并返回 矩阵中最大整数的个数 。

class Solution {public int maxCount(int m, int n, int[][] ops) {int mina = m, minb = n;for (int[] op : ops) {mina = Math.min(mina, op[0]);minb = Math.min(minb, op[1]);}return mina * minb;}
}

566. 重塑矩阵

在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。

给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。

重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。

如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。

class Solution {public int[][] matrixReshape(int[][] nums, int r, int c) {int m = nums.length;int n = nums[0].length;if (m * n != r * c) {return nums;}int[][] ans = new int[r][c];for (int x = 0; x < m * n; ++x) {ans[x / c][x % c] = nums[x / n][x % n];}return ans;}
}

303. 区域和检索 - 数组不可变

在这里插入图片描述

class NumArray {int[] sums;public NumArray(int[] nums) {int n = nums.length;sums = new int[n + 1];for (int i = 0; i < n; i++) {sums[i + 1] = sums[i] + nums[i];}}public int sumRange(int i, int j) {return sums[j + 1] - sums[i];}
}

520. 检测大写字母

我们定义,在以下情况时,单词的大写用法是正确的:

全部字母都是大写,比如 “USA” 。
单词中所有字母都不是大写,比如 “leetcode” 。
如果单词不只含有一个字母,只有首字母大写, 比如 “Google” 。
给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。
我们定义,在以下情况时,单词的大写用法是正确的:
全部字母都是大写,比如 “USA” 。
单词中所有字母都不是大写,比如 “leetcode” 。
如果单词不只含有一个字母,只有首字母大写, 比如 “Google” 。
给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。

class Solution {public boolean detectCapitalUse(String word) {// 若第 1 个字母为小写,则需额外判断第 2 个字母是否为小写if (word.length() >= 2 && Character.isLowerCase(word.charAt(0)) && Character.isUpperCase(word.charAt(1))) {return false;}// 无论第 1 个字母是否大写,其他字母必须与第 2 个字母的大小写相同for (int i = 2; i < word.length(); ++i) {if (Character.isLowerCase(word.charAt(i)) ^ Character.isLowerCase(word.charAt(1))) {return false;}}return true;}
}

125. 验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。
示例 1:

输入: s = “A man, a plan, a canal: Panama”
输出:true
解释:“amanaplanacanalpanama” 是回文串

class Solution {public boolean isPalindrome(String s) {StringBuffer sgood = new StringBuffer();int length = s.length();for (int i = 0; i < length; i++) {char ch = s.charAt(i);if (Character.isLetterOrDigit(ch)) {sgood.append(Character.toLowerCase(ch));}}StringBuffer sgood_rev = new StringBuffer(sgood).reverse();return sgood.toString().equals(sgood_rev.toString());}
}

二、在Java中,将大写字符转换为小写字符的方法主要有以下几种:

在Java中,将大写字符转换为小写字符的方法主要有以下几种:

使用Character.toLowerCase()方法:这是Java标准库提供的方法,可以将任何大写字符转换为小写字符。

   `  char lowerCaseChar = Character.toLowerCase('A'); // 返回 'a'`

使用String.toLowerCase()方法:如果你有一个字符串,而不是单个的字符,你可以使用这个方法将字符串中的所有大写字符转换为小写字符。

  `String lowerCaseString = "HELLO WORLD".toLowerCase(); // 返回 "hello world"`

使用ASCII值进行转换:每个字符都有一个对应的ASCII值,大写字母和小写字母的ASCII值之间的差是32。所以,你可以通过添加32来将大写字符转换为小写字符。但是,这种方法只适用于英文字母。

`  char ch = 'A';ch = (char) (ch + 32); // 返回 'a'`

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】三次握手、四次挥手

问&#xff1a;三次握手 四次挥手 TCP 连接过程是 3 次握手&#xff0c;终止过程是 4 次挥手 3次握手 第一步&#xff1a;客户端向服务器发送一个带有 SYN&#xff08;同步&#xff09;标志的包&#xff0c;指示客户端要建立连接。 第二步&#xff1a;服务器收到客户端的请求…

麒麟V10安装nginx、mysql报错缺少包:error while loading shared libraries libssl.so.10

背景 启动nginx报错&#xff1a;error while loading shared libraries libssl.so.10 解决 查看nginx启动文件所依赖的动态链接库&#xff08;即共享库或动态库&#xff09; ldd nginx-1.22.1/sbin/nginx离线安装compat-openssl10包 将依赖包麒麟v10安装openssl10依赖包上…

Vuex数据持久化实现

版本&#xff1a;vue 3.4.29 vuex4.1.0 1. 出现的问题 当我使用 vuex 作为状态管理组件来存储用户的一些信息之后&#xff0c;发现从/login 页面跳转到/home 界面后拿不到vuex信息。 之后查阅资料了解&#xff0c;当切换路由后&#xff0c;vue 会重新渲染&#xff0c;而vuex 也…

为什么样本方差(sample variance)的分母是 n-1?

样本均值与样本方差的定义 首先来看一下均值&#xff0c;方差&#xff0c;样本均值与样本方差的定义 总体均值的定义&#xff1a; μ 1 n ∑ i 1 n X i \mu\frac{1}{n}\sum_{i1}^{n} X_i μn1​i1∑n​Xi​ 也就是将总体中所有的样本值加总除以个数&#xff0c;也可以叫做总…

运维团队如何借助分布式部署提升监控效率与可靠性

随着企业IT基础设施的日益复杂和分布式架构的广泛应用&#xff0c;传统的监控解决方案已经难以满足现代运维团队的需求。在这样的背景下&#xff0c;分布式部署作为一种新型的监控架构&#xff0c;以其灵活性、可扩展性和高可用性&#xff0c;成为了运维团队提升监控效率与可靠…

centos系统mysql数据库差异备份与恢复

文章目录 差异备份mysql数据一、 安装 Percona XtraBackup数据库中创建一些数据三、创建全备份四、创建差异备份1. 在数据库中添加数据&#xff0c;让数据发生一些改变2. 创建第一个差异备份3. 数据库中再次添加一些数据4. 创建第二个差异备份 五、模拟数据丢失&#xff0c;删库…

nest学习笔记(一)

介绍 nest是一个用于构建高效&#xff0c;可拓展的nodejs服务端应用程序的框架&#xff0c;它使用渐进式javascript&#xff0c;使用Typescript构建并且完全支持Typescript&#xff0c;而且运行开发者使用javascript编写代码&#xff0c;提供了OOP、FP、FRP nest的底层是基于…

Kolla-Ansible的确是不支持CentOS-Stream系列产品了

看着OpenStack最新的 C 版本出来一段时间了&#xff0c;想尝个鲜、用Kolla-Ansible进行容器化部署&#xff0c;结果嘛。。。 根据实验结果&#xff0c;自OpenStack Bobcat版本开始&#xff0c;Kolla-Ansible就适合在CentOS系列产品上部署了&#xff0c;通过对 Bobcat和Caracal…

springcloud接入skywalking作为应用监控

下载安装包 需要下载SkyWalking APM 和 Java Agent 链接: skywalking 安装 下载JDK17&#xff08;可不配置环境变量&#xff09; 目前skywalking 9.0及以上版本基本都不支持JDK8&#xff0c;需要JDK11-21&#xff0c;具体版本要求在官网查看。 我这里使用的是skywalking9.…

每日好题(2)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main(void) {int arr[6] { 1,2,3,4,5,6 };char* p arr;int sz sizeof(arr) / sizeof(arr[0]);for (int a 0; a < sz; a){printf("%d\n", *p);p 4;}return 0; }这串代码遍历打印数组的结果是没…

BGP选路之Preferred value

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时&#xff0c;BGP协议会对这些BGP路由的属性进行比较&#xff0c;以确定去往该目标网络的最优BGP路由&#xff0c;然后将该最优BGP路由与去往同一目标网络的其他协议路由进行比较&#xff0c;从而决定是否将该最优…

小程序多排数据横向滚动实现

如何实现多排数据滚动效果 swiper 外部容器 swiper-item 每一页的数据 因为现在有多排数据,现在在swiper-item 中需要循环一个数组 初版 <template><view><view class"container"><view class"swiper-box"><swiper class&qu…

操作系统——笔记(1)

操作系统是管理计算机硬件资源&#xff0c;控制其他程序运行并为用户提供交互操作界面的系统软件的集合&#xff0c;控制和管理着整个计算机系统的硬件和软件资源&#xff0c;是最基本的系统软件。 常见的操作系统&#xff1a;ios、windows、Linux。 计算机系统的结构层次&am…

“论软件测试中缺陷管理及其应用”写作框架,软考高级论文,系统架构设计师论文

原创范文 软件缺陷指的是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误&#xff0c;或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。在目前的软件开发过程中&#xff0c;缺陷是不可避免的。软件测试是发现缺陷的主要手段&#xf…

计算机网络基础:2.TCP/IP模型中的各层协议、IP地址

一、TCP/IP模型中的各层协议 接着第一篇餐厅运营的例子来解释一下TCP/IP五层模型中的每一层协议&#xff1a; 1. 应用层&#xff08;餐饮一体机&#xff09; 在TCP/IP模型中&#xff0c;应用层直接与用户交互&#xff0c;提供网络服务。这一层将OSI模型的应用层&#xff08;点…

colab进行keras入门随机数和标签的一点思考,例如shape和Dense等

keras官方中文文档 pip install kerasfrom keras import layers from keras import modelsmodel.add(layers.Dense(32,activationrelu,input_shape(100,)))# 添加多个Dense层 model.add(layers.Dense(10,activationsoftmax)) model.compile(optimizerrmsprop,losscategorical_…

pikachu之sql lnjet 字符型注入

先测试一下闭合 注释符号&#xff1a;-- 注释符号可以忽略其后的内容&#xff0c;使得后续的原始查询内容不会影响我们注入的SQL代码。 条件测试&#xff1a;通过and 11和and 12分别测试真假条件&#xff0c;可以判断输入是否成功闭合&#xff0c;并且可以检测注入是否成功。 …

Kotlin 协程 — 基础

Kotlin 协程 — 基础 协程已经存在一段时间了&#xff0c;关于它的各种文章也很多。但我发现想要了解它还比较费时&#xff0c;所以我花了一段时间才真正理解了协程的基础知识以及它的工作原理。因此&#xff0c;我想分享一些我理解到的内容。 什么是协程&#xff1f; 协程代表…

关于OLED的I2C手册记录

首先我们从淘宝上面找到对应OLED 4pin iic驱动的ssd1306手册&#xff0c;它有多种的驱动方式&#xff0c;我们只需要看看他这个i2c模式。 我们可以从中看到 Slave address R/W后面的#代表低电平是W。 SA0是它的一个 slave address bit 可以使用 这两个都可以作为OLED的 设备…

分布式事务与Seata落地

分布式事务与Seata落地 一、事务基础 1.1 本地事务 事务指的就是一个操作单元, 在这个操作单元中的所有操作最终要保持一致的行为, 要么所有操作都成功, 要么所有的操作都被撤销。 1.2 本地事务特性 本地事务四大特性: ACID A: 原子性(Atomicity), 一个事务中的所有操作, …