当前位置: 首页 > news >正文

【leetcode hot 100 136】只出现一次的数字

解法一:(异或XOR)相同的数字出现两次则归零

在这里插入图片描述
在这里插入图片描述

class Solution {public int singleNumber(int[] nums) {int result = 0;for(int num:nums){result ^= num;}return result;}
}

注意:

  • 其他方法:HashList记录次数再查找数组;HashSet数组记录数字,出现第一次加入,出现第二次删除。他们时间空间复杂度都是O(n),不符合题目要求。
  • 多个元素只出现一次
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;class Solution {public List<Integer> findDuplicates(int[] nums) {List<Integer> result = new ArrayList<>();for (int i = 0; i < nums.length; i++) {int num = Math.abs(nums[i]);int index = num - 1;if (nums[index] < 0) {result.add(num);} else {nums[index] *= -1;}}return result;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String input = scanner.nextLine();int[] nums = parseInput(input);Solution solution = new Solution();List<Integer> duplicates = solution.findDuplicates(nums);System.out.println(formatOutput(duplicates));}private static int[] parseInput(String input) {String cleaned = input.replaceAll("[\\[\\] ]", "");String[] parts = cleaned.split(",");int[] nums = new int[parts.length];for (int i = 0; i < parts.length; i++) {nums[i] = Integer.parseInt(parts[i]);}return nums;}private static String formatOutput(List<Integer> list) {StringBuilder sb = new StringBuilder("[");for (int i = 0; i < list.size(); i++) {sb.append(list.get(i));if (i < list.size() - 1) {sb.append(",");}}sb.append("]");return sb.toString();}
}

相关文章:

  • openlayer的基本使用(区域绘制、点线绘制、手动绘制轨迹)
  • 【LaTeX】Misplaced alignment tab character . ^^I
  • 如何下载免费地图数据?
  • GKI 介绍
  • C++算法(9):数组作为函数参数,注意事项与实践
  • 【C++算法】61.字符串_最长公共前缀
  • 利用 Python 和 AI 技术创作独特的图像艺术作品
  • Flutter 与原生通信
  • SAP系统交货已完成标识
  • Redis(一) - Redis安装教程(Windows + Linux)
  • 数据结构与算法入门 Day 0:程序世界的基石与密码
  • 前端ES6基本语法,以及前端项目模板vue-admin-template和后端进行对接(跨域问题的解决)
  • 如何解除Excel只读状态?4种方法全解析
  • 人工智能——梯度提升决策树算法
  • Mitmproxy 11 发布 —— 完整支持 HTTP/3!
  • 特性(Attribute)
  • 大模型Benchmark评估体系解析
  • 网络威胁情报 | 威胁情报工具
  • 朋克编码以潮玩语言讲述中国文化|益民艺术馆展演东方潮力
  • GIS开发笔记(6)结合osg及osgEarth实现半球形区域绘制
  • 如何快速创建一个网站/最火的推广平台
  • 网站建设建议/理发美发培训学校
  • wordpress 快速安装失败/网站怎么优化推荐
  • 建设银行违法网站/seo网站推广专员
  • 合肥网站建设公司/8个公开大数据网站
  • 第一次做网站做后感/百度搜索引擎技巧