当前位置: 首页 > news >正文

【412】【统计近似相等数对 I】

我的思路:

 两层循环找数组两个数

然后进行1次过滤,如果数字相同直接下一组

不相同的话就要进行2次过滤

方便处理,转移到str格式

change函数用于比较两个输入的字符串是否相同

change中使用两层循环暴力调用两位数位进行交换比较(记得打回原形)

调用ifqual(使用Int函数)比较调换的结果是否符合题意

此处tips:change函数需要调用2次(str1和str2分别处理,防止3和30的情况不通过)

超级复杂的情况下通过了!!!

class Solution:def ifqual(self,str1,str2):return int(str1)==int(str2)def change(self,str1,str2):str1 = list(str1)n=len(str1)for i in range(n):for j in range(i+1,n):str1[i],str1[j]=str1[j],str1[i]if self.ifqual("".join(str1),str2):return Truestr1[i],str1[j]=str1[j],str1[i]   return Falsedef countPairs(self, nums: List[int]) -> int:n=len(nums)ret=0for i in range(n):for j in range(i+1,n):if nums[i]==nums[j]:ret+=1else:num1=str(nums[i])num2=str(nums[j])if self.change(num1,num2) or self.change(num2,num1):ret+=1return ret

复杂度还是太高了。

保留,等待大佬题解

大佬题解:

class Solution:def countPairs(self, nums: List[int]) -> int:nums.sort()ret=0dict=defaultdict(int)for num in nums:#不交换st={num}#num的长度s=list(str(num))m=len(s)#数位交换for i in range(m):for j in range(i+1,m):s[i],s[j]=s[j],s[i]st.add(int(''.join(s)))#换回来s[i],s[j]=s[j],s[i]ret+=sum(dict[v] for v in st)dict[num]+=1return ret         

相关文章:

  • docker python 3.11 容器报错
  • [M模拟] lc3153. 所有数对中数位不同之和(模拟+按位统计)
  • golang 多版本管理工具
  • IDEA没有SQL语句提示
  • 【Springboot服务实现类】用户登录逻辑梳理(未完待续)
  • 数据库与缓存一致性的解决方案
  • django(一):项目搭建
  • python-pptx - Python 操作 PPT 幻灯片
  • Node.js中离线集成ip2region:实现高效的IP地址定位
  • 【网络安全】服务基础第一阶段——第六节:Windows系统管理基础---- DNS部署与安全
  • 单片机的主流编程语言是什么
  • Vue的计算属性:methods方法、computed计算属性、watch监听属性
  • 拿到一个新项目,如何开展测试?
  • 应对Nginx负载均衡中的请求超时:策略与配置
  • Mysql在服务器中的源码部署
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • css的样式优先级
  • idea + plantuml 画流程图
  • javascript数组去重/查找/插入/删除
  • JS变量作用域
  • Making An Indicator With Pure CSS
  • Travix是如何部署应用程序到Kubernetes上的
  • VuePress 静态网站生成
  • vue-router 实现分析
  • 从伪并行的 Python 多线程说起
  • 排序(1):冒泡排序
  • 数组大概知多少
  • 算法-插入排序
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • Java数据解析之JSON
  • #define、const、typedef的差别
  • #职场发展#其他
  • (C++17) optional的使用
  • (C++20) consteval立即函数
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (办公)springboot配置aop处理请求.
  • (六)DockerCompose安装与配置
  • (算法设计与分析)第一章算法概述-习题
  • (未解决)macOS matplotlib 中文是方框
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .net下的富文本编辑器FCKeditor的配置方法
  • .NET学习全景图
  • /proc/vmstat 详解
  • @NestedConfigurationProperty 注解用法
  • @property python知乎_Python3基础之:property
  • @TableLogic注解说明,以及对增删改查的影响
  • @Transactional类内部访问失效原因详解
  • @Value获取值和@ConfigurationProperties获取值用法及比较(springboot)
  • [ C++ ] STL---string类的使用指南