1.两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:dict_dog = dict()dict_pig = dict()for i, j in enumerate(nums):dict_pig[j] = ifor m, n in enumerate(nums):dict_dog[m] = nfor x, y in dict_dog.items():ttt = target - yw = dict_pig.get(ttt)if ttt in dict_dog.values():if x != w and w is not None:if x < w:return x,welse:continue

这个题目Nick老师讲过一次,但是我觉得我的想法不一样,我就按照我自己的想法写了这一题。(想了一下午,毕竟学习的还不够)

2.整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

class Solution:def reverse(self, x: int) -> int:str_x = str(x)list_x = []y = ""if str_x[0:1] == "0":return 0elif str_x[0:1] == "-":for i in range(len(str_x) - 1):list_x.append(str_x[i + 1])list_x.reverse()for j in list_x:  # type:stry = y + jx = "-" + yx = int(x)if x < (2 ** 31 - 1) and x > ((-2) ** 31):return xelse:return 0else:for i in range(len(str_x)):list_x.append(str_x[i])list_x.reverse()for j in list_x:  # type:stry = y + jy = int(y)if y < (2 ** 31 - 1) and y > ((-2) ** 31):return yelse:return 0

3.回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

class Solution:def isPalindrome(self, x: int) -> bool:list_x = []list_re = []if x < 0:return Falseelse:str_x = str(x)list_x.extend(str_x)list_re.extend(str_x)list_x.reverse()if list_x == list_re:return Trueelse:return False

4.罗马数字转整数

罗马数字包含以下七种字符: IVXLCDM

字符 数值

I 1
V 5
X 10
L 50
C 100
D 500
M 1000
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

class Solution:def romanToInt(self, s: str) -> int:dic_roman = {'I': 1, 'IV': 4, 'V': 5, 'IX': 9, 'X': 10, 'XL': 40, 'L': 50, 'XC': 90, 'C': 100, 'CD': 400, 'D': 500,'CM': 900, 'M': 1000}list_s = list()list_ag = list()count = 0for i in s:list_s.append(i)for t in range(len(list_s) - 1):tm = list_s[t] + list_s[t + 1]if tm in dic_roman:list_ag.append(tm)for j in list_ag:count += dic_roman[j]s = s.replace(j, "")for q in s:count += dic_roman[q]return count

总结一下,这些是我这几天写的题目中的一部分,感觉大部分是考虑的比较多,因为测试用例多了,然后就是自己对一些函数以及方法的应用很欠缺。再有就是每次写完去浏览别人的代码的时候发现,别人只写了几行,而我写的基本上都是他的五倍左右的代码量。

转载于:https://www.cnblogs.com/xiongchao0823/p/11252932.html

leetcode 两数之和 整数反转 回文数 罗马数字转整数相关推荐

  1. 怎样判断一个整数是不是回文数?

    首先说明一下回文数是什么,回文数就是将这个数反转之后,得到的数仍然是同一个数.例如:131,25352就是回文数. 那么怎么判断一个数是不是回文数呢? 有两种方法,第一种是数字翻转,即将整数翻转以后, ...

  2. 求解如何判断一个整数是不是回文数的问题

    1.先了解概念 什么样的整数叫回文数? 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.例如:121是回文数,123不是回文数.这里有两个容易混淆的地方: ①.负数全都不是回文数.因为要 ...

  3. LeetCode 2217. 找到指定长度的回文数

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   给你一个整数数组 qu ...

  4. python判断回文数_Python练习题---判断回文数

    设n是一个任意自然数,如果n的各位数字反向排序所得的自然数与n相等,则n被称为回文数,从键盘输入一个5位数字 ,请编写程序判断这个数字是不是回文数. 思路:先获取一个字符串,再判断该字符串是否满足是自 ...

  5. python递归判断回文数_Python实现判断回文数算法

    回文数的定义:回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例1: 输入:121 输出:True 示例2: 输入:-121 输出:False 解释: 从左向右读, 为 -121 . ...

  6. LeetCode 08字符串转整数09回文数

    维护公众号:bigsai ,点赞再看,养成习惯! 08字符串转整数 题目描述: 分析: 本题主要是字符串的处理.需要注意以下几点: 去除字符前的空字符 第一个有效字符必须是符号或者数字 只能有一个符号 ...

  7. Leetcode刷题(2)回文数

    最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主  放弃很容易但是坚持一定很酷     我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...

  8. 判断回文数 java_java如何判断回文数

    首先我们来介绍一下什么是回文数? 就是这样的数字12321.11111.63936这样正着读和反着读都是一样的数字就叫做回文数. 两种运算:/和% /:相除运算,在这里要注意的是两个整数之间相处的话得 ...

  9. 用c语言求五位回文数,C语言求回文数(详解版)

    问题描述 打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数). 问题分析 对于要判定的数n计算出其平方后(存于a),按照"回文数"的定义要将最高位与最低位 ...

最新文章

  1. Win8.1下Node.js连接oracle
  2. Top 10 Things I Know for Sure-深信不疑的十大哲理
  3. 《Servlet学习笔记》Servlet开发细节-线程安全
  4. 印刷点阵字体_印刷术如何确定可读性:衬线与无衬线,以及如何组合字体。
  5. 从零开始学android开发-布局中 layout_gravity、gravity、orientation、layout_weight
  6. 60级怀旧服最新服务器人口排名,魔兽世界怀旧服10月最新人口普查详情 各大服务器阵营详细比例...
  7. c语言第三章作业3.13,2012年计算机等级二级C语言章节习题及答案(13)
  8. 北京车辆过户外迁,北京车辆外迁流程
  9. python dataframe修改_pandas DataFrame的修改方法
  10. 为什么c语言输出到文件慢,【图片】今天写几个性能测试,为什么C语言跑得这么慢呢??【c语言吧】_百度贴吧...
  11. 东方航空:无畏挑战,做开源数据库转型先行者
  12. 异构网络互联;路由与转发;SDN基本概念;拥塞控制
  13. python图片中文汉字标注乱码,变成方框
  14. 区块链的硬分叉和软分叉
  15. Python pycharm一个文件夹如何变成一个model
  16. 虚拟麦克风音频输入_全新职业级 罗技G PRO X游戏耳机麦克风震撼上市
  17. 最清晰的进制转换讲解 - java实现
  18. JSP入门教程(1)
  19. 程序员考试下午题知识点总结
  20. 数值的整数次方 和开根号

热门文章

  1. 腾讯SNG的实习offer(多篇面经分享)
  2. 20170803 - 今日技能封装 - Q
  3. jQuery学习笔记之extend方法小结
  4. python学习--numpy的数组
  5. 生活在地球上:网络摘录
  6. mysql分表方法-----MRG_MyISAM引擎分表法
  7. HDOJ2019 ( 数列有序! ) 【水题】
  8. ASP.NET CORE 入门教程(附源码)
  9. ESXI开启snmp协议方法
  10. 洛谷 P4706 取石子 解题报告