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

关于2025.10.13力扣每日的学习

我写的是,维护ans数组,然后用Counter比较异位,如果是异位,那么就保留第一个,不是则pass。

class Solution:def removeAnagrams(self, words: List[str]) -> List[str]:ans = []n = len(words)for i in range(n):if i== 0:ans.append(words[i])tmp_cnt = Counter(words[i])else:tmp = Counter(words[i])if tmp == tmp_cnt:pass else:ans.append(words[i])tmp_cnt = tmpreturn ans

然后学习灵神的代码,想快慢双指针的思想。

快指针负责寻找异位,如果有异位(当然这时候灵神用的sorted寻找异位),那么不管。如果没有,那么把此时的单词放在慢指针上面。

class Solution:def removeAnagrams(self, words: List[str]) -> List[str]:k = 1for s,t in pairwise(words):if sorted(s) != sorted(t):words[k] = tk += 1del words[k:]return words

然后我还是想成为一名cpp玩家,按照惯例学习一下cpp的语法。

先粘贴上灵神解法的cpp版本。

class Solution {
public:vector<string> removeAnagrams(vector<string>& words) {string base = "";int k = 0 ;for (auto& word:words){string s = word;ranges::sort(s);if (s != base){base = move(s);words[k++] = word;}}words.resize(k);return words;}
};

string这种类型定义我早已驾轻就熟,而我想学的是move函数和resize函数。

根据deepseek,move函数是为了避免不必要的拷贝,而把s的值转移给了base,方便后面重新初始化s。而resize函数,则是保留前k个元素。

http://www.dtcms.com/a/477800.html

相关文章:

  • Hive 删除分区语句卡死问题
  • 19.1 TCP 和 UDP 有什么区别?
  • 汇编和C语言结构
  • 单页网站的营销高端渠道开发
  • 定制网站建设公司哪家便宜seo免费课程
  • 【密码学实战】openHiTLS server命令行:搭建国密标准安全通信服务器
  • AWS RDS (MySQL)蓝绿部署常见误区
  • 工信部发布→《云计算综合标准化体系建设指南(2025版)》
  • K8S重启引发的RocketMQ消息丢失问题记录
  • K8S(七)—— Kubernetes Pod 进阶配置与生命周期管理全解析
  • 主题库 1.15 | 提供风景、动漫、明星、动物等多种类型的高清壁纸,轻松更换手机壁纸
  • 百度云自助建站用微信做网站
  • 免费自助小型网站怎么制作链接视频教程
  • 国外那些网站做展厅比较好做本地房产网站
  • 本地部署开源持续集成和持续部署系统 Woodpecker CI 并实现外部访问
  • 从 FinalShell 迁移到 WindTerm:一次安全、高效、开源的终端升级之旅
  • 从 0 到 1 构建一个完整的 AGUI 前端项目的流程在 ESP32 上运行
  • 【具身智能】RoboTwin 2.0:一个可扩展的、强领域随机化的数据生成器,用于双臂机器人操作
  • 【STM32项目开源】基于STM32的智能家庭安防系统
  • Avalonia+ReactiveUI+Sourcegenerators实现异步命令
  • 个人网站建设心得网站开发的数据库设计实体是什么
  • Java的动态绑定机制(重要)
  • 2Docker自定义网络,compose多容器部署
  • Linux内存管理-malloc虚拟内存到物理映射详细分析
  • 桂林网站建设内容大专自考报名入口官网
  • AMS支持的融资业务如何优化风控流程?
  • 小杰深度学习(thirteen)——视觉-经典神经网络——GoogLeNet
  • jtag转swd
  • 多语言支持应用场景实战解析
  • 手机微网站怎么设计方案陕西建省级执法人才库