ARTS打卡计划第一周-Algorithm
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"))
此题侧重于策略的选择:
ARTS打卡计划第一周-Algorithm的更多相关文章
- ARTS打卡计划第二周-Algorithm
665. 非递减数列 https://leetcode-cn.com/problems/non-decreasing-array/ 给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元 ...
- ARTS打卡计划第一周-Share-系统字典模块的设计
在软件开发的过程,经常有一些类型的字段信息:性别.学历.职级.车辆类别.公司类型.结算类型等.这些字段有2个特征:1是字段可选的类型是有限,2是字段可能会变化,我们把这种字段描述为字段字段. 本篇文 ...
- ARTS打卡计划第一周-Tips-ControllerAdvice的使用
通常在开发具体项目过程中我们可能会面临如下问题: 统一所有的json返回结果 统一处理所有controller中的异常,并且给不同异常不同的返回状态值 统一对返回的接口做数据校验或者加密,防止篡改 在 ...
- ARTS打卡计划第一周-Review
本周分享的文章来自于medium的 Testing Best Practices for Java + Spring Apps 这个文章主要讲的是java测试的一些最佳实践 1.避免函数返回void, ...
- ARTS打卡计划第一周
Algorithms: https://leetcode-cn.com/problems/two-sum/ Review: https://www.infoq.cn/article/EafgGJEtq ...
- ARTS打卡计划第二周-Review
本周review的文章是:https://medium.com/@hakibenita/optimizing-django-admin-paginator-53c4eb6bfca3 改篇文章的题目是: ...
- ARTS打卡计划第二周
Algorithms: https://leetcode-cn.com/problems/3sum/ 算法是先排序,然后按照两个数和两边逼中,考虑去重. Review: https://www.inf ...
- ARTS打卡计划第二周-Share-使用java注解对方法计时
现在有这样一种常见,系统中有一个接口,该接口执行的方法忽快忽慢,因此你需要去统计改方法的执行时间.刚开始你的代码可能如下: long start = System.currentTimeMillis( ...
- ARTS打卡计划第二周-Tips-mysql-binlog-connector-java的使用
最近发现一个挺不错的框架mysql-binlog-connector-java,可以实时监控binlog的变化. 首先检查mysql的binlog是否开启,在开启的情况下: 引入依赖 <depe ...
随机推荐
- 关于Asset Library核心功能的一些计划
Asset Library是公司计划中的一个网站,用于存放图像,视频,三维文件等资产,在之前的一个多月中我写完了该网站的后台及部分前端,现在就剩最后一部分了,这也是最棘手最核心的部分,就是在网页上快速 ...
- 通用Mapper简单使用
通用Mapper 1.通用Mapper的使用 1.0.实体类 @Table(name = "tb_user") public class User { @Id @Generated ...
- 新ubuntu系统装软件
新装的ubuntu系统安装软件: 1.ifconfig #sudo apt-get install net-tools 2.vim #sudo apt-get install vim 3.telnet ...
- 从9x9矩阵中抽取中间菱形区域打印 - perl
起因: 源自于c的练习题,打印diamond,因为perl不需编译,方便调试,故先用perl实现一下 关键: 没有想到好的思路,只能借助于上一篇打印上下三角矩阵的方法,把菱形拆成上下左右4个三角矩阵区 ...
- Python抓取百度汉字笔画的gif
偶然发现百度汉语里面,有一笔一划的汉字顺序: 觉得这个动态的图片,等以后娃长大了,可以用这个教写字.然后就去找找常用汉字,现代汉语常用字表 .拿到这里面的汉字,做两个数组出来,一共是 ...
- 4、hello world
package com.ourteam.firstexample; import io.netty.bootstrap.ServerBootstrap;import io.netty.channel. ...
- springboot项目如何打包成war包
一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二.移除嵌入式tomcat插件 在pom.xml里找到spring-boot-s ...
- SQLite3问题
使用包含SQL语句的txt文件建立数据表 使用sqlite自带官方工具,.read <sql语法文件> 导入csv中数据到sqlite数据库表 使用sqlite自带官方工具,.import ...
- linux 怎么与网络对时
首先来了解下面几个知识点:1. date命令:#date显示系统时间2.hwclock命令 (即hardwareclock系统硬件时间)#hwclock显示硬件时间#hwclock -w将系统时间写入 ...
- 数据库alert报错:ORA-00202、ORA-15081、ORA-27072
思路分析: 1.发现数据库宕机,检查alert日志发现如下出现控制文件:I/O错误 Thu Apr 11 06:40:14 2019WARNING: Read Failed. group:2 disk ...