添加py,js和c++,删除多于代码

pull/38/head
jaredliw 2021-07-22 23:12:26 +08:00
parent bf547801e9
commit ae5cd15279
1 changed files with 266 additions and 18 deletions

View File

@ -1,3 +1,5 @@
>
>
> **[tan45du_one](https://raw.githubusercontent.com/tan45du/tan45du.github.io/master/个人微信.15egrcgqd94w.jpg)** ,备注 github + 题目 + 问题 向我反馈
>
>
@ -30,6 +32,8 @@
####
Java Code:
```java
class Solution {
public int singleNumber(int[] nums) {
@ -53,6 +57,64 @@ class Solution {
}
```
C++ Code:
```cpp
class Solution {
public:
int singleNumber(vector<int>& nums) {
//特殊情况
if (nums.size() == 1) {
return nums[0];
}
//HashMap
unordered_map<int,int> map;
//将其存入哈希表中含义为若该元素不存在则存入表中并计数为1若已经存在获取次数并加1
for (int x : nums) {
if (map.find(x) == map.end()) {
map.insert({x, 0});
}
map[x] += 1;
}
//遍历出出现次数为1的情况
for (int y : nums) {
if(map.at(y) == 1){
return y;
}
}
return -1;
}
};
```
JS Code:
```javascript
var singleNumber = function(nums) {
//特殊情况
if (nums.length === 1) {
return nums[0];
}
//HashMap
map = {};
//将其存入哈希表中含义为若该元素不存在则存入表中并计数为1若已经存在获取次数并加1
for (let x of nums) {
if (!(x in map)) {
map[x] = 0;
}
map[x] += 1;
}
//遍历出出现次数为1的情况
for (let key in map) {
if (map[key] === 1) {
return key;
}
}
};
```
Python Code:
```python
class Solution:
def singleNumber(self, nums: List[int]) -> int:
@ -104,13 +166,44 @@ class Solution {
}
```
C++ Code:
```cpp
class Solution {
public:
int singleNumber(vector<int>& nums) {
//排序
sort(nums.begin(), nums.end());
for (int i = 1; i < nums.size() - 1; i += 2){
if (nums[i] != nums[i - 1]){
return nums[i - 1];
}
}
return nums[nums.size() - 1];
}
};
```
JS Code:
```javascript
var singleNumber = function(nums) {
// 排序
nums.sort();
for (let i = 1; i < nums.length - 1; i += 2) {
if (nums[i] != nums[i - 1]) {
return nums[i - 1];
}
}
return nums[nums.length - 1];
};
```
Python Code:
```python
class Solution:
def singleNumber(self, nums: List[int]) -> int:
if len(nums) == 1:
return nums[0]
#
nums.sort()
for i in range(1, len(nums), 2):
@ -136,18 +229,14 @@ Java Code:
```java
class Solution {
public int singleNumber(int[] nums) {
if (nums.length == 1){
return nums[0];
}
HashSet<Integer> set = new HashSet<>();
//循环遍历
for (int x : nums){
//已经存在,则去除
if(set.contains(x)){
set.remove(x);
}
//否则存入
else{
} else {
set.add(x);
}
}
@ -157,13 +246,53 @@ class Solution {
}
```
C++ Code:
```cpp
class Solution {
public:
int singleNumber(vector<int>& nums) {
unordered_set<int> set;
//循环遍历
for (int x : nums) {
//已经存在,则去除
if (set.find(x) == set.end()) {
set.insert(x);
//否则存入
} else {
set.erase(x);
}
}
//返回仅剩的一个元素
return *set.begin();
}
};
```
JS Code:
```javascript
var singleNumber = function(nums) {
let set = new Set();
//循环遍历
for (let x of nums) {
//已经存在,则去除
if (set.has(x)) {
set.delete(x);
//否则存入
} else {
set.add(x);
}
}
return set.values().next().value;
};
```
Python Code:
```python
class Solution:
def singleNumber(self, nums: List[int]) -> int:
if len(nums) == 1:
return nums[0]
set_ = set()
#
for x in nums:
@ -189,12 +318,11 @@ class Solution:
####
Java Code:
```java
class Solution {
public int singleNumber(int[] nums) {
if (nums.length == 1) {
return nums[0];
}
Arrays.sort(nums);
Stack<Integer> stack = new Stack<>();
for (int x : nums){
@ -214,6 +342,53 @@ class Solution {
}
```
C++ Code:
```cpp
class Solution {
public:
int singleNumber(vector<int>& nums) {
sort(nums.begin(), nums.end());
stack<int> stack;
for (int x: nums) {
if (stack.empty()) {
stack.push(x);
continue;
}
//不同时直接跳出
if (stack.top() != x) {
break;
}
//相同时出栈
stack.pop();
}
return stack.top();
}
};
```
JS Code:
```javascript
var singleNumber = function(nums) {
nums.sort();
let stack = [];
for (let x of nums) {
if (!stack.length) {
stack.push(x);
continue;
}
//不同时直接跳出
if (stack[0] !== x) {
break;
}
//相同时出栈
stack.pop();
}
return stack[0];
};
```
Python Code:
```python
@ -229,8 +404,10 @@ class Solution:
if not stack:
stack.append(x)
continue
#
if stack[-1] != x:
break
#
stack.pop()
return stack[-1]
```
@ -249,12 +426,11 @@ class Solution:
####
Java Code:
```java
class Solution {
public int singleNumber(int[] nums) {
if (nums.length == 1){
return nums[0];
}
HashSet<Integer> set = new HashSet<>();
int setsum = 0;
int numsum = 0;
@ -273,6 +449,51 @@ class Solution {
}
```
C++ Code:
```cpp
class Solution {
public:
int singleNumber(vector<int>& nums) {
unordered_set<int> set;
int setsum = 0;
int numsum = 0;
for (int x : nums) {
//所有元素的和
numsum += x;
if (set.find(x) == set.end()) {
//HashSet内元素的和
setsum += x;
}
set.insert(x);
}
//返回值
return setsum * 2 - numsum;
}
};
```
JS Code:
```javascript
var singleNumber = function(nums) {
let set = new Set();
let setsum = 0;
let numsum = 0;
for (let x of nums) {
//所有元素的和
numsum += x;
if (!set.has(x)) {
setsum += x;
}
//HashSet内元素的和
set.add(x);
}
//返回值
return 2 * setsum - numsum;
};
```
Python Code:
```python
@ -289,7 +510,7 @@ class Solution:
^
> (XOR)^ 10
> XOR^ 10
> 0a0 = a
> 0aa = 0
@ -320,6 +541,31 @@ class Solution {
}
```
C++ Code:
```cpp
class Solution {
public:
int singleNumber(vector<int>& nums) {
int num = 0;
//异或
for (vector<int>::iterator x = nums.begin(); x != nums.end(); x++) {
num ^= *x;
}
return num;
}
};
```
JS Code:
```javascript
var singleNumber = function(nums) {
//异或
return nums.reduce((num, x) => num ^= x);
};
```
Python Code:
```python
@ -327,7 +573,9 @@ from functools import reduce
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return reduce(lambda num, x: int(num) ^ int(x), nums)
#
return reduce(lambda num, x: num ^ x, nums, 0)
```
6
6