一、提取列表中的重复值
用Python写简单点
def nums(num):
b=set()//用集合保存提取的数字,避免重复添加
for i in num:
if num.count(i)>1:
b.update([i])
dict={}//保存重复的值及其下标
for j in b:
list=[]
for A in range(len(num)):
if j==num[A]:
list.append(A)
dict[j]=list
print("重复的数字:",b)
print(dict)
nums([1,2,3,34,6,7,6,7,8,7])
重复的数字: {6, 7}
{6: [4, 6], 7: [5, 7, 9]}
二、反转数字
JAVA
package com.CoderLB;
public class Reverse {
public static void main(String[] args) {
System.out.print(reverse(-223));
}
public static int reverse(int x){
int result=0;
while(x!=0){
int mod =x%10;
if((result>Integer.MAX_VALUE/10)
||result<Integer.MIN_VALUE/10){
return 0;
}
result=result*10+mod;
x=x/10;
}
return result;
}
}
Python(通过字符串反转)(借鉴)
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
# 判断是否为个位数,是个位数则不用反转,直接返回
if -10 < x < 10:
return x
# 把整数x转为字符串
str_x = str(x)
# 判断第一个是否为负号
if str_x[0] != "-":
# 不是负号则直接反转
str_x = str_x[::-1]
# str转为int
x = int(str_x)
else:
# 是负号,则反转负号之后的字符串
str_x = str_x[1:][::-1]
# str转int
x = int(str_x)
# 加上负号
x = -x
# 三目运算符,判断是否溢出
return x if -2147483648 < x < 2147483647 else 0
if __name__ == '__main__':
s = Solution()
reverse_int = s.reverse(-120)
print(reverse_int)
Continue…