leetcode_137. Single Number II 只出现一次的数字 II 偏离了题目考点,主要是为了写下java
2016-12-05 21:19
357 查看
题目:
Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
题意:
给定一个整数数组,除了一个数字外,其他的数字都出现三次,找出这个只出现一次的数字。要求是线性的时间复杂度,不能有多的内存空间。
代码:(Java)
public class Solution {
public int singleNumber(int[] nums) {
int n = nums.length;
if(n<2) {
return nums[0];
}
else {
Arrays.sort(nums);
int j = 0;
if (nums[j] != nums[j+1]) {
return nums[0];
}
for (j = 1; j < n-1; j++) {
if (nums[j] != nums[j-1] && nums[j] != nums[j+1] ) {
return nums[j];
}
}
return nums[j];
}
}
}
笔记:
其实算法并不满足要求,是为了学习一下java的语法。
1、变量定义之前要声明类型
2、每一句结束后,后面要加分号
3、if、for的形式与C一样,要用大括号括起来
4、计算数组长度,用.length;计算字符串长度,用.length()
5、排序用Arrays.sort()
6、输出用System.out.print( ); 输出数组时,需要遍历数组每个元素,一个一个输出
Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
题意:
给定一个整数数组,除了一个数字外,其他的数字都出现三次,找出这个只出现一次的数字。要求是线性的时间复杂度,不能有多的内存空间。
代码:(Java)
public class Solution {
public int singleNumber(int[] nums) {
int n = nums.length;
if(n<2) {
return nums[0];
}
else {
Arrays.sort(nums);
int j = 0;
if (nums[j] != nums[j+1]) {
return nums[0];
}
for (j = 1; j < n-1; j++) {
if (nums[j] != nums[j-1] && nums[j] != nums[j+1] ) {
return nums[j];
}
}
return nums[j];
}
}
}
笔记:
其实算法并不满足要求,是为了学习一下java的语法。
1、变量定义之前要声明类型
2、每一句结束后,后面要加分号
3、if、for的形式与C一样,要用大括号括起来
4、计算数组长度,用.length;计算字符串长度,用.length()
5、排序用Arrays.sort()
6、输出用System.out.print( ); 输出数组时,需要遍历数组每个元素,一个一个输出
相关文章推荐
- Leetcode 137 Single Number II 仅出现一次的数字
- 【LeetCode-面试算法经典-Java实现】【136-Single Number(只出现一次的数字)】
- 寻找只出现一次的数字(LeetCode: Single Number II)
- LeetCode 137 Single Number II(只出现一次的数字 II)(*)
- leetcode解题之136 #Single Number Java版(只出现一次的数字)
- 【leetcode】在一堆每个数字都出现三次的数组中,找到那个只出现一次的数(Single Number II)
- LeetCode 137 Single Number II(仅仅出现一次的数字 II)(*)
- 【LeetCode-面试算法经典-Java实现】【136-Single Number(仅仅出现一次的数字)】
- 【LeetCode-面试算法经典-Java实现】【137-Single Number II(只字出一次的数字II)】
- 【leetcode】【Single Number题目】java 异或运算解决数字出现偶数次还是奇数次问题||HashMap
- 【leetcode】数组中找出只出现一次的数字(Single Number)
- 【编程题目】找出数组中两个只出现一次的数字 ★★(自己没做出来)
- LeetCode 136 Single Number(数组中只出现一次的数字)
- 剑指offer解题报告(Java版)——数组中只出现一次的数字 40
- leetcode:Remove Duplicates from Sorted List II (留下链表中只出现一次的元素)【面试算法题】
- 【LeetCode-面试算法经典-Java实现】【154-Find Minimum in Rotated Sorted Array II(找旋转数组中的最小数字II)】
- 九度 题目1351:数组中只出现一次的数字
- 题目1256:找出两个只出现了一次的数字
- java版的小明的筷子,主要是找出数组中只出现一次的元素
- [九度oj]题目1351:数组中只出现一次的数字