ARTS:

  • Algrothm: leetcode算法题目
  • Review: 阅读并且点评一篇英文技术文章
  • Tip/Techni: 学习一个技术技巧
  • Share: 分享一篇有观点和思考的技术文章

Algorithm

【leetcode】824. Goat Latin

https://leetcode.com/problems/goat-latin/

1)problem

S给出一个句子,由用空格分隔的单词组成。每个单词只包含小写字母和大写字母。

我们想将句子转换成“ 山羊拉丁语”  (一种类似于拉丁语的化妆语言)。

山羊拉丁文规则如下:

  • 如果一个单词以元音开头(a,e,i,o或u),则追加"ma" 到单词的末尾。
    例如,'apple'这个词变成'applema'。
  • 如果一个词以辅音开头(即不是元音),删除第一个字母并将其附加到最后,然后添加"ma"。
    例如,这个词"goat" 变成了"oatgma"。
  • 'a' 在每个单词的末尾添加一个字母,每个单词的索引在句子中,从1开始。
    例如,第一个单词被"a"添加到结尾,第二个单词被"aa"添加到结尾,依此类推。
    返回代表从S Goat Latin 转换成的最后一句。

返回代表从S Goat Latin 转换成的最后一句。

Example 1:

Input: "I speak Goat Latin"
Output: "Imaa peaksmaaa oatGmaaaa atinLmaaaaa"

Example 2:

Input: "The quick brown fox jumped over the lazy dog"
Output: "heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa"

2)answer

1.用unordered_set判断单词开头是不是元音。

2.一边找完整的单词,一边对单词里的字母进行换位置操作。时间复杂度只需要线性。

3.把末尾要添加的字母直接做成一个字符串,每次循环改一下即可。

4.S增加了词末字符串之后i的下标所指的位置会改变。

3)solution

#include "pch.h"
#include <iostream>
#include <string>
#include <vector>
#include <unordered_set>
#include <algorithm>
using std::vector;
using std::string;
using std::unordered_set;class Solution {
public:string toGoatLatin(string S) {unordered_set<char> vowel = { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' };int i = 0;string sub;sub = "maa";// 遍历输入的字符串长度while (i < S.length()){int j = i + 1;                               // 单词的首位int isvowel = vowel.count(S[i]);             //如果找到值等于k的元素,则返回1,否则返回0。char tmp = S[i];                             // 存储单词的首个字符while ((S[j] != ' ') && (j < S.length()))    // 每个单词内的处理,如果字符不是空格以及没有超过字符串的总长度{if (!isvowel) { S[j - 1] = S[j]; }       // 如果以辅音(即不是元音)开头,就把第二位的值变成第一位的值,字符串左移j++;}if (!isvowel) S[j - 1] = tmp;   // 把以辅音(即不是元音)开头的第一位放到单词末尾S.insert(j, sub);               // 这个单词后插入maai = j + sub.length() + 1;       // 计算新插入的字符数目sub = sub + 'a';                // 按照单词个数,依次加a,第一个单词加maa,那么第二次就应该是maaa}return S;}
};
int main()
{Solution solution;string str = "The quick brown fox jumped over the lazy dog";string ret = solution.toGoatLatin(str);}

Review

【漏洞挖掘】Sleeping stored Google XSS Awakens a $5000 Bounty

1)场景

找Google漏洞

2)问题难点

找Google的存储型XSS漏洞

3)解决问题的方法

Google云提供60天 免费试用

"><img src=x onerror=javascript:alert(1);> … 

4)方法细节

[BugBounty] Sleeping stored Google XSS Awakens a $5000 Bounty

https://www.cnblogs.com/17bdw/p/10372402.html

Tip

【安全开发】MFC的CEdit使用(Edit Control控件)

1)场景

MFC-开发小工具

2)问题难点

CEdit使用(Edit Control控件)

3)解决思路

  • 编辑框只读

属性 Read Only等于 True,就有了只读效果

  • 密码框

属性 Password 等于 True,就有了密码效果

4)方法细节

CEdit使用(Edit Control控件)

https://www.cnblogs.com/17bdw/p/10350818.html

Share

【业务】应急响应工具开发-C++获取当前所有进程的完整路径

1)场景

C++获取当前所有进程的完整路径

2)问题难点

遍历进程,获取进程的完整路径

3)解决思路

CreateToolhelp32Snapshot()
Process32First()
OpenProcess()
GetProcessImageFileName()
GetLogicalDriveStrings()
QueryDosDevice()

4)方法细节

C++获取当前所有进程的完整路径

https://www.cnblogs.com/17bdw/p/10355793.html

转载于:https://www.cnblogs.com/17bdw/p/10348712.html

【ARTS】01_12_左耳听风-20190128~20190203相关推荐

  1. 【ARTS】01_06_左耳听风-20181217~1223

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  2. 左耳听风ARTS第2周

    左耳朵耗子专栏<左耳听风> 用户自发每周完成一个ARTS: 1.Algorithm:每周至少做一个 leetcode 的算法题 2.Review:阅读并点评至少一篇英文技术文章 3.Tip ...

  3. 左耳听风 第二十一周

    左耳听风 第二十一周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

  4. 《左耳听风》-ARTS-打卡记录-第二十五周

    <左耳听风>-ARTS-打卡记录-第25周 坚持不懈是一句正确的废话.前段时间,我在我的读者群中发起了一个名为 ARTS 的活动.每人每周写一个 ARTS:Algorithm 是一道算法题 ...

  5. 左耳听风 第三十三周

    左耳听风 第三十三周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

  6. 左耳听风 第三十八周

    左耳听风 第三十八周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

  7. 左耳听风 第四十九周

    左耳听风 第四十九周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

  8. 左耳听风 第四十一周

    左耳听风 第四十一周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

  9. 左耳听风 第三十五周

    左耳听风 第三十五周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

最新文章

  1. Go语言学习之旅01--变量与数据
  2. swift3.0 渐变色
  3. ASP.NET3种验证码[转]
  4. Fedora 19配置心得
  5. 强制生成32位arm程序_ARM版本系列及家族成员梳理
  6. JavaScript对象学习笔记
  7. 【转】ASP.net MVC自定义错误处理页面的方法
  8. 计算机网络上级操作题,计算机网络上机操作试题答案.pdf
  9. c# winform word模板 利用WORD 书签 定位替换 生成 WORD
  10. eNSP下的vlan划分实验
  11. 舒老师的hu测(日常吐槽)
  12. 每天学命令get_property
  13. 阿里云服务器被攻击黑洞怎么办?
  14. “\t“和‘\t‘区别
  15. WMS系统的功能,业务和定义
  16. 一个运维工程师必须要知道的(工作职责与应用场景)干货整理
  17. 火狐浏览器更新版本之后总是在当前页面打开新链接覆盖掉原先内容
  18. 一文读懂pid控制器
  19. 学习Java的第二周
  20. java redis模糊查询_Redis模糊查询

热门文章

  1. python标准库怎么用_Python常用标准库使用(一)
  2. php session警告屏蔽,PHP Session的一个警告
  3. 硬件基础 —— 光耦
  4. C语言——字符串函数
  5. smzdm 扫地机器人_堪称米家最值!米家系列扫地机器人选购须知
  6. 二十六、PHP框架Laravel学习笔记——模型的一对多关联
  7. LeetCode 1717. 删除子字符串的最大得分
  8. LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)
  9. LeetCode 840. 矩阵中的幻方(数学)
  10. LeetCode 139. 单词拆分(DP)