news 2026/4/18 9:23:02

算法题方法调用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法题方法调用

一、Integer

  • Integer.bitCount(int i):计算整数二进制中 1 的个数
  • Integer.highestOneBit(int i):返回最高位 1 所在的位置对应的整数
  • Integer.lowestOneBit(int i):返回最低位 1 所在的位置对应的整数
  • Integer.reverse():将int类型整数的二进制位进行完全反转,并返回反转后的整数
Integer.reverse(int i)反转 32 位整数的二进制位颠倒二进制位
Integer.bitCount(int i)计算二进制中 1 的个数位 1 的个数、汉明距离
Integer.highestOneBit(int i)返回最高位 1 对应的整数找最高有效位、计算 2 的幂
Integer.parseInt(String s, int radix)将指定进制的字符串转为整数进制转换(如二进制转十进制)
Integer.toBinaryString(int i)将整数转为二进制字符串进制转换、二进制输出
Long.reverse(long i)反转 64 位长整数的二进制位处理 64 位整数的位反转

二、java.lang.String&java.lang.StringBuilder(字符串相关)

字符串类是算法题的高频考点,很多内置方法可以直接解决子串、反转、拼接等问题。

方法作用适用场景
String.reverse()(需转成 StringBuilder)反转字符串回文判断、反转字符串
String.indexOf(String str)查找子串首次出现的位置子串匹配、字符串查找
String.substring(int begin, int end)截取子串子串提取、分割字符串
String.toCharArray()转为字符数组字符级别的遍历与操作
StringBuilder.append(...)高效拼接字符串避免频繁字符串拼接的性能问题
StringBuilder.deleteCharAt(int index)删除指定位置的字符字符串删除、括号匹配等

三、java.util.Arrays(数组相关)

数组类的排序、查找、填充方法,是数组类题目中的常客。

方法作用适用场景
Arrays.sort(int[] a)对数组进行升序排序数组排序、两数之和、三数之和
Arrays.binarySearch(int[] a, int key)二分查找目标值的索引有序数组的查找问题
Arrays.copyOf(int[] original, int newLength)复制并扩容数组数组扩容、合并数组
Arrays.fill(int[] a, int val)将数组所有元素填充为指定值初始化数组、重置数组

四、java.util.Collections(集合相关)

集合类的工具方法,在处理 List、Set、Map 等集合时非常实用。

方法作用适用场景
Collections.reverse(List<?> list)反转列表元素反转链表、反转列表
Collections.sort(List<T> list)对列表进行升序排序列表排序、TopK 问题
Collections.binarySearch(List<? extends Comparable<? super T>> list, T key)二分查找列表中的元素有序列表的查找
Collections.swap(List<?> list, int i, int j)交换列表中两个位置的元素数组 / 列表交换元素、排序算法

五、java.math.BigInteger&java.math.BigDecimal(大数相关)

处理超出基本数据类型范围的数值时,这两个类是必备工具。

方法作用适用场景
BigInteger(String val, int radix)将指定进制的字符串转为大整数超长二进制 / 十进制字符串转数
BigInteger.add(BigInteger val)大整数加法二进制求和、大数加法
BigInteger.multiply(BigInteger val)大整数乘法大数乘法、阶乘计算
BigInteger.toString(int radix)将大整数转为指定进制的字符串大数转二进制 / 十六进制字符串

六、java.util.Stack&java.util.Deque(栈 / 队列相关)

栈和队列是解决括号匹配、单调栈、滑动窗口等问题的核心数据结构,Java 提供了现成的实现。

方法作用适用场景
Stack.push(E item)/Stack.pop()/Stack.peek()栈的压入、弹出、查看栈顶括号匹配、有效的括号、逆波兰表达式
Deque.addLast(E e)/Deque.pollFirst()双端队列的队尾添加、队头 弹出滑动窗口最大值、队列实现栈
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 18:43:43

Cosplay创作新利器:yz-bijini-cosplay文生图系统体验报告

Cosplay创作新利器&#xff1a;yz-bijini-cosplay文生图系统体验报告 1. 这不是又一个“AI画图工具”&#xff0c;而是专为Cosplayer打造的本地化创作引擎 你有没有过这样的经历&#xff1a; 想为心爱的角色设计一套高还原度的Cosplay造型&#xff0c;翻遍图库找不到理想参考…

作者头像 李华
网站建设 2026/4/17 12:48:02

STM32 USB-CDC虚拟串口开发实战:从配置到数据收发全流程

1. USB-CDC虚拟串口开发入门指南 第一次接触STM32的USB-CDC功能时&#xff0c;我被它强大的灵活性惊艳到了。传统的串口调试需要占用硬件UART资源&#xff0c;而USB-CDC只需要一根USB线就能实现高速数据传输&#xff0c;还能省下一个串口给其他外设使用。更重要的是&#xff0…

作者头像 李华
网站建设 2026/4/18 2:08:12

文件名带时间戳!输出命名规则解析

文件名带时间戳&#xff01;输出命名规则解析 在使用人像卡通化工具处理图片时&#xff0c;你是否注意过生成文件的命名方式&#xff1f;看似简单的 outputs_20250312142836.png 这类文件名&#xff0c;其实暗含一套清晰、可靠、可追溯的命名逻辑。它不只是随机字符串&#xf…

作者头像 李华
网站建设 2026/4/18 2:07:31

3步解锁Zotero茉莉花插件:让中文文献管理效率提升90%的秘密武器

3步解锁Zotero茉莉花插件&#xff1a;让中文文献管理效率提升90%的秘密武器 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件&#xff0c;用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 你是否…

作者头像 李华
网站建设 2026/4/17 23:49:06

VMware macOS兼容工具:让跨平台虚拟化不再受限

VMware macOS兼容工具&#xff1a;让跨平台虚拟化不再受限 【免费下载链接】unlocker 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 在数字化开发与测试的日常工作中&#xff0c;许多开发者和设计师常常面临一个共同挑战&#xff1a;如何在非苹果硬件上高…

作者头像 李华
网站建设 2026/4/18 2:01:16

HeyGem开发者联系方式公开,有问题找科哥就行

HeyGem开发者联系方式公开&#xff0c;有问题找科哥就行 HeyGem数字人视频生成系统自上线以来&#xff0c;凭借简洁的WebUI界面、稳定的批量处理能力以及对主流音视频格式的良好兼容性&#xff0c;正在被越来越多的内容创作者、企业宣传团队和在线教育从业者所采用。它不像某些…

作者头像 李华