第二周周日学习总结

题目总结

给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性的数字后,返回可以得到的

字典序最小的字符串

如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。

示例 1:

输入: s = "45320"

输出: "43520"

解释:

s[1] == '5's[2] == '3' 都具有相同的奇偶性,交换它们可以得到字典序最小的字符串。

class Solution {

public:

string getSmallestString(string s) {

for (int i = 1; i < s.length(); i++) {

char x = s[i - 1], y = s[i];

if (x > y && x % 2 == y % 2) {

swap(s[i - 1], s[i]);

break;

}

}

return s;

}

};

题目要求,交换的数字必须相邻,且具有相同的奇偶性,直接按照题目要求模拟可得

给你一个字符串 s 和一个整数 k。请你使用以下算法加密字符串:

  • 对于字符串 s 中的每个字符 c,用字符串中 c 后面的第 k 个字符替换 c(以循环方式)。

返回加密后的字符串。

示例 1:

输入: s = "dart", k = 3

输出: "tdar"

解释:

  • 对于 i = 0'd' 后面的第 3 个字符是 't'

  • 对于 i = 1'a' 后面的第 3 个字符是 'd'

  • 对于 i = 2'r' 后面的第 3 个字符是 'a'

  • 对于 i = 3't' 后面的第 3 个字符是 'r'

    class Solution {

    public:

    string getEncryptedString(string s, int k) {

    k %= s.length();

    return s.substr(k) + s.substr(0, k);

    }

    };
    由示例可得,先将k个字符后的字符提前,在加上从0到k个字符即为答案
    3.

    你两个整数 redblue,分别表示红色球和蓝色球的数量。你需要使用这些球来组成一个三角形,满足第 1 行有 1 个球,第 2 行有 2 个球,第 3 行有 3 个球,依此类推。

    每一行的球必须是 相同 颜色,且相邻行的颜色必须不同

    返回可以实现的三角形的 最大高度。

    示例 1:

    输入: red = 2, blue = 4

    输出: 3

    解释:

    上图显示了唯一可能的排列方式。

    class Solution {

    public:

    int maxHeightOfTriangle(int red, int blue) {

    int cnt[2]{};

    for (int i = 1; ; i++) {

    cnt[i % 2] += i;

    if ((cnt[0] > red || cnt[1] > blue) && (cnt[0] > blue || cnt[1] > red)) {

    return i - 1;

    }

    }

    }

    };

    java总结

    多态方便维护代码,在定义方法时,使用父类作为对象,可以接收所有子类对象,但是不能调用子类特有的方法

    多态的表现形式为:

    父类对象 对象名称 =子类对象。

    多态的前提:

    要有继承和实现关系。

    父类引用指向子类对象

    有方法重写

    调用成员变量

    编译看左边,运行看左边

    在编译时,会看左边的父类中有没有这个变量,如果有编译成功,如果没有编译失败。

    运行时实际获取的就是左边父类中成员变量的值

    调用成员方法

    编译看左边,运行看右边

    编译代码时,会看左边父类中有没有这个方法,如果有编译成功,如果没有编译失败。

    运行代码实际上运行的是子类中的方法

相关推荐
Larry_Yanan1 小时前
QML学习笔记(十七)QML的属性变更信号
javascript·c++·笔记·qt·学习·ui
eqwaak02 小时前
Flask实战指南:从基础到高阶的完整开发流程
开发语言·后端·python·学习·flask
GilgameshJSS2 小时前
STM32H743-ARM例程9-IWDG看门狗
c语言·arm开发·stm32·单片机·嵌入式硬件·学习
月盈缺3 小时前
学习嵌入式的第四十一天——ARM——时钟与定时器
arm开发·学习
努力毕业的小土博^_^3 小时前
【深度学习|学习笔记】详细讲解一下 深度学习训练过程中 为什么 Momentum 可以加速训练?
人工智能·笔记·深度学习·学习·momentum
清风吹过3 小时前
少样本学习论文分享:多模态和类增量学习
论文阅读·人工智能·深度学习·学习·机器学习
Larry_Yanan3 小时前
QML学习笔记(十四)QML的自定义模块
开发语言·笔记·qt·学习·ui
jinmo_C++3 小时前
数据结构_ 二叉树线索化:从原理到手撕实现
数据结构
wdfk_prog3 小时前
[Linux]学习笔记系列 -- lib/sort.c 通用的排序库(Generic Sorting Library) 为内核提供标准的、高效的排序功能
linux·运维·c语言·笔记·stm32·学习·bug
CappuccinoRose5 小时前
MATLAB学习文档(二十二)
学习·算法·matlab