02 2022 档案
摘要:leetcode字符串算法练习,不定期更新 有效的字母异位词 题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "c
阅读全文
摘要:1.算法概述 插入排序是一个平均时间复杂度**O(n^2)**级别的排序算法,它具有稳定性,即排序完成之后各个相同元素的相对顺序保持一致。 插入排序的基本思想:在一个有序的序列中寻找一个合适的位置进行插入 2.算法步骤 默认取第二个元素开始与已经排好序的元素序列比较,因为第一个元素已经是有序
阅读全文
摘要:学习排序算法时的总结和记录 各种排序算法比较 排序 时间复杂度 空间复杂度 稳定性 直接插入排序 O(n^2) O(1) 稳定 希尔排序 根据增量序列的不同时间复杂度不同;可以很接近O(nlogn) O(1) 不稳定 冒泡排序 O(n^2) O(1) 稳定 快速排序 期望值O(nlogn),需要考虑
阅读全文
摘要:在CPP11之前的不同对象都有各自的初始化方式,于是初始化列表特性的目的在于统一初始化环节 统一初始化 提供了基本类型、数组、自定义类型等不同对象的初始化 class Student { public: Student(string name, int age) : m_name(name), m_
阅读全文
摘要:右值引用是cpp11引入的很重要的特性,是为了支持一下两个特性而引入的: 去除不必要的对象内存拷贝,极大提高了程序运行效率 在泛型中支持完美转发(Perfect Forwarding),提升编程效率 说在前面:一下所有代码均在g++编译器上进行编译并验证过的 右值引用 我们先来看看它和左值引用的区别
阅读全文
摘要:背景 本文将介绍如果工作上遇到了git新手向远程仓库提交大体积文件或者文件夹的处理方法 精简仓库基本流程 查找大文件 遍历提交记录并删除大文件对象 本地仓库回收空间 强制推送至远端 重新拉取仓库 查看本地仓库体积 git count-objects -vH 效果如下: 查找大文件 git rev-l
阅读全文