剑指offer 面试题51 java实现
来源:互联网 发布:女神联盟英雄升阶数据 编辑:程序博客网 时间:2024/05/17 07:42
package com.offer.algorithm;import java.util.HashSet;public class Test51 {public static void main(String[] args) {int[] intArr = new int[] { 4, 3, 1, 0, 2, 5, 6 };System.out.println(getDuplication2(intArr));}// 方法一:使用HashSet的方法(空间复杂度O(n),时间复杂度O(n))public static boolean getDuplication1(int[] intArr) {HashSet<Integer> hs = new HashSet<Integer>();loop: for (int num : intArr) {if (hs.add(num)) {continue loop;} else {return true;}}return false;}// 使用空间复杂度O(n),时间复杂度O(1)的方法public static boolean getDuplication2(int[] intArr) {for (int i = 0; i < intArr.length; i++) {while (intArr[i] != i) {if (intArr[i] == intArr[intArr[i]]) {return true;}// 将intArr[i]与intArr[intArr[i]]交换int temp = intArr[i];intArr[i] = intArr[temp];intArr[temp] = temp;}}return false;}}
0 0
- 剑指offer 面试题51 java实现
- 剑指offer面试题汇总-Java实现
- 【剑指offer】面试题2:实现Singleto模式 java
- 剑指offer-面试题7:俩个栈实现队列(java)
- 剑指offer--面试题4:替换空格--Java实现
- 剑指offer--面试题6:重建二叉树--Java实现
- 剑指offer--面试题16:翻转链表--Java实现
- 剑指offer--面试题20:顺时针打印矩阵--Java实现
- 剑指offer--面试题28:字符串的排列--Java实现
- 剑指offer--面试题28:字符串的排列--Java实现
- 剑指offer面试题3(java实现)
- 剑指offer面试题4(java实现)
- 剑指offer面试题5(java实现)
- 剑指offer面试题7(java实现)
- 剑指offer面试题21(java实现)
- 剑指offer面试题22(java实现)
- 剑指Offer面试题20:顺时针打印矩阵 Java实现
- 剑指offer面试题28:字符串的排列 Java实现
- 【数据结构与算法】十六 二叉树遍历 BFS 广度优先 递归算法
- 跨服务器Session共享的四种方法
- IO学习(九)字节缓冲流,字符缓冲流
- 阅读需要马上开始------每天时时刻刻要在心中默念
- OSGI与cxf结合发布rest接口
- 剑指offer 面试题51 java实现
- DP 动态规划 Problem J 1010 上楼梯问题
- Condition的理解
- android发送短信
- [BZOJ1051] [HAOI2006] 受欢迎的牛 - tarjan强连通分量
- 关于StringBuffer和StringBuilder的一点看法
- bzoj 1552: [Cerc2007]robotic sort(splay)
- <canvas>学习笔记——如何使用<canvas>
- chmod命令