java char 指针数组_双指针之对撞指针,Java
反转字符串数组
给定一个字符数组,反转。要求原地进行,空间复杂度为O(1)。
public void reverseString(char[] s) {
int n = s.length;
int l = 0;
int r = n - 1;
while (l < r)
swap(s, l++, r--);
}
private static void swap(char[] arr, int i, int j){
char t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
求盛水最多的容器-中等难度
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
在这里插入图片描述
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/container-with-most-water
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
public int maxArea(int[] height) {
int len = height.length;
int l = 0;
int r = len - 1;
int h = height[l] < height[r]? height[l] : height[r];
int maxvolume = (r - l) * h;
while(l < r){
int volume = (r - l) * h;
if(maxvolume < volume)
maxvolume = volume;
if(h == height[l] )
l++;
else
r--;
h = height[l] < height[r]? height[l] : height[r];
}
return maxvolume;
}
验证回文字符串
public boolean isPalindrome(String s) {
int l = 0;
int r = s.length() - 1;
while(l < r){
while(!Character.isLetterOrDigit(s.charAt(l)) && l < r)
l++;
while(!Character.isLetterOrDigit(s.charAt(r)) && r > l)
r--;
if(l < r)
if(Character.toLowerCase(s.charAt(l)) != Character.toLowerCase(s.charAt(r)))
return false;
l++;
r--;
}
return true;
}
两数之和,有序数组
public int[] twoSum(int[] numbers, int target) {
int[] index = {-1, -1};
int i = 0;
int j = numbers.length - 1;
while (i < j){
if(numbers[i] + numbers[j] == target)
break;
if(numbers[i] + numbers[j] < target)
i++;
if(numbers[i] + numbers[j] > target)
j--;
}
index[0] = i + 1;
index[1] = j + 1;
return index;
}
java char 指针数组_双指针之对撞指针,Java相关推荐
- java 最大子数组_[剑指offer题解][Java]连续子数组的最大和
前言 众所周知,<剑指offer>是一本"好书". 如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白. 对于剑指offer题解这个系列,我的 ...
- c语言指针数组 难点总结,C语言指针与数组的难点分析.pdf
C语言指针与数组的难点分析,c语言指针数组,c语言二维数组指针,c语言指针数组初始化,c语言函数指针数组,c语言数组与指针,c语言结构体数组指针,c语言指向数组的指针,c语言字符串数组指针,c语言数组 ...
- java char指针数组_简单总结C语言中各种类型的指针的概念
C语言中有很多关于指针的使用,指针也是C语言的灵魂所在,而且C语言中也有很多有关指针的概念,这里学习并总结了一些知道的概念. 常量指针:首先它是一个指针,常量只是用来修饰指针的定语.其定义如下: ch ...
- java 字符串 字节数组_字符串到字节数组,字节数组到Java中的字符串
java 字符串 字节数组 Today we will learn how to convert String to byte array in java. We will also learn ho ...
- JAVA中两个char类型相加_【技术干货】Java 面试宝典:Java 基础部分(1)
海牛学院的 | 第 616 期 本文预计阅读 |18 分钟 Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法, ...
- java 复制一个数组_浅谈Java中复制数组的方式
在Java里面,可以用复制语句"A=B"给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组:如果一个数组发生改变,那么引用同 ...
- java char类型空值_展望Java的未来:空值类型
java char类型空值 尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情. 诚然,由于 ...
- java javascript数组_浅谈javascript和java中的数组
javascript中的数组 数组的创建 直接创建方式 var str = ['java', 'js']; 使用new创建方式: var a = new Array(10); // 定义长度为1 ...
- java定义byte数组_浅谈java的byte数组的不同写法
(由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"byte数组"里面全部是&qu ...
最新文章
- 青蛙 mysql_青蛙学Linux—MySQL常用命令(二)
- [html] marquee详解
- 科大星云诗社动态20210228
- 【算法】图文并茂,一文了解 8 种常见的数据结构
- 免费 | 从通识到核心—自然语言处理专题公开课
- spark on yarn 完全分布式_Apache Spark探秘:三种分布式部署方式比较
- 熟知的CRM有哪些功能特点?
- Anaconda 的安装、环境变量配置及使用
- HOW-TO:在Spring 4和Java 7中使用@PropertySource批注
- kaggle(04)---avazu_ctr_predictor(baseline)
- 以 Ext.Net 1.2.0 为例了解网页测试工具 HttpWatch
- 如何在 macOS Monterey 上自定义光标?
- Eclipse 9.x 10.0 之破解详细步骤
- 中国互联网创业大咖(收藏)
- 电力LED时钟系统解决方案实现精确时间同步
- Widows Virtual PC 修改bios安装OEM xp
- c语言 交互式电子白板案例,交互式电子白板案例分析
- 大学毕业生找不到工作的原因何在?
- 光通量发光强度照度亮度关系_有关发光强度、光通量、照度、亮度的简单介绍...
- 劳动保障职业学院计算机专业,北京劳动保障职业学院2020录取分数线(附2017-2020年分数线)...
热门文章
- rm 空间不释放_rm删除文件之后,空间就被释放了吗?
- 华北电力大学保定校区计算机专业,华北电力大学保定校区本科计算机科学与技术_华北电力大学保定校区本科计算机科学与技术简介-查字典学校网...
- python eve mysql_python连接 MySQ 数据库
- 帝国cms微信小程序多语言相亲交友制作记录难点使用的小程序组件分析
- 图像文档变形恢复DewarpNet
- 'numpy.float64' object cannot be interpreted as an integer
- 『TensorFlow』函数查询列表_张量属性调整
- 相关算子、卷积算子、边缘效应
- 渗透知识- Windows系统目录、服务、端口、注册表
- 三、NoSQL数据库的四大分类的分析