7. Reverse Integer

import math
class Solution:
def reverse(self, x: int) -> int:
ret = 0
if x >=0:
x_str = str(x)
ret = int(x_str[::-1])
else:
x =abs(x)
x_str=str(x)
ret = -1*int(x_str[::-1])
if ret>=math.pow(2,31)-1 or ret<=-1*math.pow(2,31):
return 0
else:
return ret if __name__ == '__main__':
s = Solution()
print(s.reverse(123))
print(s.reverse(-123))
print(s.reverse(120))
print(s.reverse(-120))
print(s.reverse(1534236469))

  这里出错的基本都是题目没看清楚,题目说的是如果反转溢出后返回0。这里主要的思路就是将数字转化为字符串,对字符串反转并且保持符号位。

859. Buddy Strings

class Solution:
"""
1、如果AB长度不一样,直接返回fasle
2、考虑A,B长度小于2返回false
3、如果A,B长度相等,如果A中每个字符均不相同返回false
4、变量A,B,看最终不同的字符个数是不是2,不是2返回false
,如果是2的话,看2者能否交换,能交换就是true,否则是false """
def buddyStrings(self, A: str, B: str) -> bool:
if len(A)!=len(B):
return False
if len(A)<2 or len(B) <2:
return False listA = list(A)
listB = list(B)
listAret =[]
listBret=[] if A==B:
if len(A) !=len(set(A)):
return True
else:
return False for idx,val in enumerate(listA):
if val != listB[idx]:
listAret.append(val)
listBret.append(listB[idx]) if len(listAret)!=len(listBret):
return False if len(listAret)!=2:
return False if listAret[0]==listBret[1] and listAret[1]==listBret[0]:
return True
return False if __name__=="__main__":
s = Solution();
print(s.buddyStrings("ab","ba"))
print(s.buddyStrings("abcd","abcd"))
print(s.buddyStrings("ab","ab"))
print(s.buddyStrings("aa","aa"))
print(s.buddyStrings("aaaaaaabc","aaaaaaacb"))
print(s.buddyStrings("","aa"))

  此题侧重于策略的选择:

1、如果AB长度不一样,直接返回fasle
2、考虑A,B长度小于2返回false
3、如果A,B长度相等,如果A中每个字符均不相同返回false
4、变量A,B,看最终不同的字符个数是不是2,不是2返回false
,如果是2的话,看2者能否交换,能交换就是true,否则是false

ARTS打卡计划第一周-Algorithm的更多相关文章

  1. ARTS打卡计划第二周-Algorithm

    665. 非递减数列  https://leetcode-cn.com/problems/non-decreasing-array/ 给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元 ...

  2. ARTS打卡计划第一周-Share-系统字典模块的设计

    在软件开发的过程,经常有一些类型的字段信息:性别.学历.职级.车辆类别.公司类型.结算类型等.这些字段有2个特征:1是字段可选的类型是有限,2是字段可能会变化,我们把这种字段描述为字段字段.  本篇文 ...

  3. ARTS打卡计划第一周-Tips-ControllerAdvice的使用

    通常在开发具体项目过程中我们可能会面临如下问题: 统一所有的json返回结果 统一处理所有controller中的异常,并且给不同异常不同的返回状态值 统一对返回的接口做数据校验或者加密,防止篡改 在 ...

  4. ARTS打卡计划第一周-Review

    本周分享的文章来自于medium的 Testing Best Practices for Java + Spring Apps 这个文章主要讲的是java测试的一些最佳实践 1.避免函数返回void, ...

  5. ARTS打卡计划第一周

    Algorithms: https://leetcode-cn.com/problems/two-sum/ Review: https://www.infoq.cn/article/EafgGJEtq ...

  6. ARTS打卡计划第二周-Review

    本周review的文章是:https://medium.com/@hakibenita/optimizing-django-admin-paginator-53c4eb6bfca3 改篇文章的题目是: ...

  7. ARTS打卡计划第二周

    Algorithms: https://leetcode-cn.com/problems/3sum/ 算法是先排序,然后按照两个数和两边逼中,考虑去重. Review: https://www.inf ...

  8. ARTS打卡计划第二周-Share-使用java注解对方法计时

    现在有这样一种常见,系统中有一个接口,该接口执行的方法忽快忽慢,因此你需要去统计改方法的执行时间.刚开始你的代码可能如下: long start = System.currentTimeMillis( ...

  9. ARTS打卡计划第二周-Tips-mysql-binlog-connector-java的使用

    最近发现一个挺不错的框架mysql-binlog-connector-java,可以实时监控binlog的变化. 首先检查mysql的binlog是否开启,在开启的情况下: 引入依赖 <depe ...

随机推荐

  1. 【转】Syncthing的安装与使用

    Syncthing的安装与使用 无论办公.文件共享.团队协作还是家庭照片.视频.音乐.高清电影的存储,我们常常都有文件同步和存储的需求.但随着国内各大网盘的花式阵亡或限速,早已没什么好选择了. 除了转 ...

  2. 微软MSDN原版Windows Server 2008 R2 With SP1下载

    Windows Server 2008 R2是windows 服务器版本Windows Server 2008 R2继续提升了虚拟化.系统管理弹性.网络存取方式,以及信息安全等领域的应用,其中有不少功 ...

  3. 未来-区块链-IBM:IBM 区块链技术开发社区

    ylbtech-未来-区块链-IBM:IBM 区块链技术开发社区 1.返回顶部 1. 开始学习 IBM Blockchain 101:开发人员快速入门指南 这篇快速入门指南适合不熟悉区块链技术,希望快 ...

  4. java核心-多线程-Java多线程编程涉及到包、类

    Java有关多线程编程设计的类主要涉及两个包java.lang和java.util.concurrent两个包 java.lang包,主要是线程基础类 <1>Thread <2> ...

  5. RIDE创建工程和测试套件和用例--书本介绍的入门方法,自己整理实践下

    1.选择File->New Project 2.弹出的New Project对话框,在Name文本框输入一个名词,如“TestProject-0805”,右侧选中“Directory”,选中建立 ...

  6. Window 无法完成请求的更改,找不到引用的汇编,错误代码 0X80073701

    window 10专业版,通过“启用和关闭Window功能”进行安装IIS的部分功能的时候报错: Window 无法完成请求的更改,找不到引用的汇编,错误代码 0X80073701 备注以及尝试: ( ...

  7. Mock Server

    下载地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/ 此处使用standalone的方式,不使用api用法 启动方 ...

  8. Mock及Mockito使用

    mockito http://www.vogella.com/tutorials/Mockito/article.html 原文地址: http://www.open-open.com/lib/vie ...

  9. Java高级框架——Mybatis(二)

    十.三种查询方式 1. selectList()返回值为List<resultType属性控制> 1.1 适用于查询结果都需要遍历的需求 List<Flower> list = ...

  10. rabbitmq支持.net framwork 3.5的最后版本

    方便后来人!!!经过一系列的确认!! rabbitmq支持.net framwork 3.5的最后版本是3.4.3, 安装步骤: 1.工具->Nuget程序包管理器,进入控制台 2.Instal ...