leetcode刷题--python
给定一个整数数组 nums
和一个目标值 target
,请你在该数组中找出和为目标值的 两个 整数。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]
class Solution(object):def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""for m in range (len(nums)):for n in range (m+1,len(nums)):if nums[m]+nums[n]==target:return [m,n]
def twoSum(nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""d = {}for i, item in enumerate(nums):tmp = target - itemfor key, value in d.items():if value == tmp:return [key, i]d[i] = itemreturn None
class Solution:def isPalindrome(self, x: int) -> bool:if str(x)[::-1]==str(x):return Trueelse:return False
class Solution:def romanToInt(self, s: str) -> int:roman_dic={'I':1, 'IV':3, 'V':5, 'IX':8, 'X':10, 'XL':30, 'L':50, 'XC':80, 'C':100, 'CD':300, 'D':500, 'CM':800, 'M':1000}roman_sum=0return sum(roman_dic.get(s[max(i - 1, 0):i + 1], roman_dic[n]) for i, n in enumerate(s))## for i,n in enumerate(s):# roman_sum+=roman_dic.get(s[max(i - 1, 0):i + 1], roman_dic[n])# return roman_sum
class Solution:def longestCommonPrefix(self, strs: List[str]) -> str:res=""for tmp in zip(*strs):tmp_set=set(tmp)if len(tmp_set)==1:res+=tmp[0]else:breakreturn res
class Solution:def addStrings(self, num1: str, num2: str) -> str:add=0res=""new_num1=num1[::-1]new_num2=num2[::-1]if len(new_num1)>len(new_num2):new_num2+="0"*(len(new_num1)-len(new_num2))else:new_num1+="0"*(len(new_num2)-len(new_num1))n=max(len(new_num1),len(new_num2))for i in range(n):tmp=int(new_num1[i])+int(new_num2[i])+addres+= str(tmp%10)add=int(tmp/10)if add!=0:res+=str(add)# 这里的if处理:当两个数相加为10或者100时,当最后一个add=1时,把进位打出来return res[::-1]
思路:
我们可以对bits 数组从左到右扫描来判断最后一位是否为一比特字符。当扫描到第 i 位时,如果 bits[i]=1,那么说明这是一个两比特字符,将 i 的值增加 2。如果 bits[i]=0,那么说明这是一个一比特字符,将 i 的值增加 1。
如果 i 最终落在了 bits.length-1 的位置,那么说明最后一位一定是一比特字符。
class Solution:def isOneBitCharacter(self, bits) -> bool:i=0if len(bits) == 1:return Truewhile i<(len(bits)-1):if bits[i]==0:i+=1elif bits[i]==1:i+=2if i==len(bits):return Falseelse:return True
转载于:https://www.cnblogs.com/panpan0301/p/10079750.html
leetcode刷题--python相关推荐
- LeetCode刷题Python实录
使用Python的LeetCode刷题 前言 题目 1408. 数组中的字符串匹配 508. 出现次数最多的子树元素和 1089. 复写零 剑指 Offer 14- I. 剪绳子 1175. 质数排列 ...
- 【Leetcode刷题Python】40. 组合总和 II
1 题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每 ...
- 【Leetcode刷题Python】494. 目标和
1 题目 给你一个整数数组 nums 和一个整数 target . 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可 ...
- 【Leetcode刷题Python】516. 最长回文子序列
1 题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度. 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列. 示例 1: 输入:s = &q ...
- 【代码】LeetCode刷题Python版
python版LeetCode 算法部分 811. 子域名访问计数 class Solution:def subdomainVisits(self, cpdomains):""&q ...
- 【Leetcode刷题Python】714. 买卖股票的最佳时机含手续费
1 题目 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付手续费.如果你已经 ...
- 【Leetcode刷题Python】55. 跳跃游戏
1 题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 示例 1: 输入:nums = [2 ...
- 【Leetcode刷题Python】生词本单词整理
1 题目 小A最近在努力学习英语.小A有一本生词本,专门用来记录见到的生词.每次小A看到一个自己不认识的单词时,就会把这个生词抄写到生词本上.经过几个月的学习之后,小A想对这个生词本上的单词进行整理. ...
- 【Leetcode刷题Python】416. 分割等和子集
1 题目 给你一个 只包含正整数 的 非空 数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 示例 1: 输入:nums = [1,5,11,5] 输出:true ...
- 【Leetcode刷题Python】174. 地下城游戏
1 题目 一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主. ...
最新文章
- 插入排序 - 二分插入排序
- CentOS 6.4 配置LAMP 环境 与安装 phpmyadmin
- Android平台上使用属性系统(property system)
- 如何判断SAP CDS view的association是inner join还是outer join实现的
- Stacktraces告诉了事实。 但事实并非如此。
- 什么是python标识符_Python:标识符Identifier
- C++析构函数与构造函数深拷贝浅拷贝(C++初学面向对象编程)
- 【渝粤教育】国家开放大学2018年秋季 1117t机电控制与可编程序控制 参考试题
- springboot集成logback配置文件模板
- 谷歌浏览器的前端代码调试
- 浅谈大学公寓智能用电管理系统方案
- 局域网内计算机无法ping通,局域网内目标主机无法ping通怎么处理 局域网内目标主机无法ping通如何解决...
- [转载]在Java应用程序中访问USB设备
- 网格计算和云计算之间的比较
- sql1428N错误
- 闰秒 mysql_闰秒导致MySQL服务器的CPU sys过高
- 活动回顾 |阿里云MVP Tech Show 第九期宁波站— 物联网一站式开发
- pytorch的transform中ToTensor接着Normalize
- CentOS7转发非3306端口到3306端口
- hour:24小时制和12小时制