反转字符串数组

给定一个字符数组,反转。要求原地进行,空间复杂度为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相关推荐

  1. java 最大子数组_[剑指offer题解][Java]连续子数组的最大和

    前言 众所周知,<剑指offer>是一本"好书". 如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白. 对于剑指offer题解这个系列,我的 ...

  2. c语言指针数组 难点总结,C语言指针与数组的难点分析.pdf

    C语言指针与数组的难点分析,c语言指针数组,c语言二维数组指针,c语言指针数组初始化,c语言函数指针数组,c语言数组与指针,c语言结构体数组指针,c语言指向数组的指针,c语言字符串数组指针,c语言数组 ...

  3. java char指针数组_简单总结C语言中各种类型的指针的概念

    C语言中有很多关于指针的使用,指针也是C语言的灵魂所在,而且C语言中也有很多有关指针的概念,这里学习并总结了一些知道的概念. 常量指针:首先它是一个指针,常量只是用来修饰指针的定语.其定义如下: ch ...

  4. java 字符串 字节数组_字符串到字节数组,字节数组到Java中的字符串

    java 字符串 字节数组 Today we will learn how to convert String to byte array in java. We will also learn ho ...

  5. JAVA中两个char类型相加_【技术干货】Java 面试宝典:Java 基础部分(1)

    海牛学院的 | 第 616 期 本文预计阅读 |18 分钟 Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法, ...

  6. java 复制一个数组_浅谈Java中复制数组的方式

    在Java里面,可以用复制语句"A=B"给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组:如果一个数组发生改变,那么引用同 ...

  7. java char类型空值_展望Java的未来:空值类型

    java char类型空值 尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情. 诚然,由于 ...

  8. java javascript数组_浅谈javascript和java中的数组

    javascript中的数组 数组的创建 直接创建方式  var str = ['java', 'js']; 使用new创建方式: var a = new Array(10);  //  定义长度为1 ...

  9. java定义byte数组_浅谈java的byte数组的不同写法

    (由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"byte数组"里面全部是&qu ...

最新文章

  1. 青蛙 mysql_青蛙学Linux—MySQL常用命令(二)
  2. [html] marquee详解
  3. 科大星云诗社动态20210228
  4. 【算法】图文并茂,一文了解 8 种常见的数据结构
  5. 免费 | 从通识到核心—自然语言处理专题公开课
  6. spark on yarn 完全分布式_Apache Spark探秘:三种分布式部署方式比较
  7. 熟知的CRM有哪些功能特点?
  8. Anaconda 的安装、环境变量配置及使用
  9. HOW-TO:在Spring 4和Java 7中使用@PropertySource批注
  10. kaggle(04)---avazu_ctr_predictor(baseline)
  11. 以 Ext.Net 1.2.0 为例了解网页测试工具 HttpWatch
  12. 如何在 macOS Monterey 上自定义光标?
  13. Eclipse 9.x 10.0 之破解详细步骤
  14. 中国互联网创业大咖(收藏)
  15. 电力LED时钟系统解决方案实现精确时间同步
  16. Widows Virtual PC 修改bios安装OEM xp
  17. c语言 交互式电子白板案例,交互式电子白板案例分析
  18. 大学毕业生找不到工作的原因何在?
  19. 光通量发光强度照度亮度关系_有关发光强度、光通量、照度、亮度的简单介绍...
  20. 劳动保障职业学院计算机专业,北京劳动保障职业学院2020录取分数线(附2017-2020年分数线)...

热门文章

  1. rm 空间不释放_rm删除文件之后,空间就被释放了吗?
  2. 华北电力大学保定校区计算机专业,华北电力大学保定校区本科计算机科学与技术_华北电力大学保定校区本科计算机科学与技术简介-查字典学校网...
  3. python eve mysql_python连接 MySQ 数据库
  4. 帝国cms微信小程序多语言相亲交友制作记录难点使用的小程序组件分析
  5. 图像文档变形恢复DewarpNet
  6. 'numpy.float64' object cannot be interpreted as an integer
  7. 『TensorFlow』函数查询列表_张量属性调整
  8. 相关算子、卷积算子、边缘效应
  9. 渗透知识- Windows系统目录、服务、端口、注册表
  10. 三、NoSQL数据库的四大分类的分析