【ARTS】01_12_左耳听风-20190128~20190203

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络(十五)-数据链路层-CSMA/CA协议

一.CSMA/CA协议 载波监听多点接入/碰撞避免CSMA/CA 主要在无线局域网中使用。 1.1 工作原理 发送数据前&#xff0c;先检测信道是否空闲。空闲则发出RTS&#xff0c;RTS包括发送端的地址、接收端的地址、下一份数据将持续发送的时间等信息&#xff1b;信道忙则等待。接收端收…

自动驾驶中的机器学习

出品&#xff1a;CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;作者&#xff1a;Denis Chikurtev译者&#xff1a;马超 责编&#xff1a;晋兆雨以下为译文&#xff1a;近年来&#xff0c;自动驾驶技术技术的发展速度非常快。预计达到完全自动驾驶L5的程度是指日可待的…

计算机网络(十六)-轮询访问介质访问控制

介质访问控制 1.几种协议 信道划分介质访问控制(MAC)协议&#xff1a; 基于多路复用技术划分资源。网络负载重&#xff1a;共享信道效率高&#xff0c;且公平。网络负载轻&#xff1a;共享信道效率低。 随机访问MAC协议&#xff1a; 用户根据意愿随机发送信息&#xff0c;…

区分真实模式的两个标准

来源&#xff1a;混沌巡洋舰人类作为模式发现者&#xff0c;处于一触即发的状态&#xff0c;我们可以倾向于在一个系统找到模式&#xff0c;而这个系统可能并不真实存在。由此&#xff0c;问题出现了&#xff0c;宇宙究竟是按照模式运行的&#xff0c;还是人类只是在我们看到的…

hdu5693 D gamehdu 5712 D++ game

题目链接&#xff1a;5693 题目链接&#xff1a;5712 对于这个D game。注意消除之后两遍的序列是可以拼合到一起的&#xff01;我们可以想到有区间DP的做法。我们设\(f[i][j]\)表示区间i,j可以被消除。 显然如果这个区间可以被消除&#xff0c;则操作一定可以被分解成一次消除两…

计算机网络(十七)-局域网

一.局域网 1.1 简称LAN&#xff0c;是指在某一区域内由多台计算机互联成的计算机组&#xff0c;使用广播信道。 1.2 特点 覆盖的地理范围较小&#xff0c;只在一个相对独立的局部范围内联。使用专门铺设的传介质进行联网&#xff0c;数据传输速率高。通信延迟时间短&#xf…

最让青年科学家们困惑的 10 个问题,是什么?

来源&#xff1a;腾讯研究院8 月 1 日&#xff0c;首届“青年科学家 50 论坛”在南方科技大学隆重拉开帷幕&#xff0c;由 100 位“科学探索奖”获奖人发起并投票选出的“十大科学技术问题”&#xff0c;在开幕式中重磅发布。这些问题体现了中国顶尖青年科学家们最前沿的科学探…

Mybatis学习笔记13 - 动态sql之set标签

示例代码&#xff1a; 接口定义&#xff1a; package com.mybatis.dao;import com.mybatis.bean.Employee;public interface EmployeeMapper {public void updateEmp(Employee employee);public void updateEmployee(Employee employee); }mapper定义&#xff1a; <?xml ve…

国内整车厂“造芯”还缺什么?

来源&#xff1a;Imagination Tech2020年下半年以来&#xff0c;汽车行业的“缺芯”问题就一直困扰着全球各大车厂&#xff0c;福特、通用、丰田、现代、沃尔沃等一众车厂相继出现部分工厂或车型停产的情况&#xff0c;而国内也有南北大众和蔚来等车厂受到影响&#xff0c;出现…

set用法

begin()–返回指向第一个元素的迭代器 clear()–清除所有元素 count()–返回某个值元素的个数 empty()–如果集合为空&#xff0c;返回true end()–返回指向最后一个元素的迭代器 equal_range()–返回集合中与给定值相等的上下限的两个迭代器 erase()–删除集合中的元素 …

hadoop单机配置(非分布式)

1.1 环境 使用deepin系统、Hadoop3.1.3和Java环境jdk-8u162-linux-x64.tar.gz。 https://pan.baidu.com/s/1K1U1dypbgJeFvjHIGPcMqQ 提取码: 2vsi 1.2 准备 1.创建用户hadoop&#xff0c;按ctrlaltt打开终端&#xff0c;输入如下命令,并使用/bin/bash作为shell。 $ sudo use…

AlphaFold2爆火背后,人类为什么要死磕蛋白质?

来源&#xff1a; 脑极体近期在生命科学领域&#xff0c;有一则爆炸性的新闻&#xff0c;DeepMind 的Al phaFold2模型&#xff0c;将人类的98.5%的蛋白质&#xff0c;全部预测了一遍&#xff0c;并且做成了数据集免费开源&#xff0c;供科研圈的人使用。开放的数据集不仅包括人…

hadoop伪分布式配置

1.1 准备 通过gedit编辑器修改比较方便&#xff0c;因此需先安装gedit。 sudo apt-get install gedit1.2 修改配置文件core-site.xml和hdfs-site.xml(如下注释部分需要删除) gedit打开core-site.xml $ gedit ./etc/hadoop/core-site.xml<configuration>#在该语句对中添…

实现AGI,强化学习就够了?Sutton、Silver师徒联手:奖励机制足够实现各种目标...

来源&#xff1a;机器学习研究组订阅通用人工智能&#xff0c;用强化学习的奖励机制就能实现吗&#xff1f;几十年来&#xff0c;在人工智能领域&#xff0c;计算机科学家设计并开发了各种复杂的机制和技术&#xff0c;以复现视觉、语言、推理、运动技能等智能能力。尽管这些努…

内网渗透闲谈

作者&#xff1a;天析 为什么要进行内网渗透&#xff1f; 场景一&#xff08;企业内网&#xff09;&#xff1a; 在做渗透测试时&#xff0c;发现web服务是通过处于域中的服务器经由路由完成端口映射来对外提供的&#xff0c;而此时我们已经通过web环境获得了该主机的system权限…

这可能是十年来最酷的神经科学发现

© Designer Shit Documentary来源&#xff1a;Diego Salinas翻译&#xff1a;Rachel校对&#xff1a;Yord原文&#xff1a;medium.com/artificial-intelligence-and-cognition/what-makes-emotions-feel-good-or-bad-9bdcd0a81afc过去的十年是神经科学史上极不平凡的十年&…

计算机网络(二十一)-数据链路层设备

1.1 物理层扩展以太网 扩展添加了主干集线器&#xff0c;信道的冲突概率增大&#xff0c;冲突域增加&#xff0c;效率降低。 1.2 链路层扩展以太网 可以通过网桥和交换机来实现。 网桥&#xff1a;根据MAC帧的目的地址对帧进行转发和过滤。当网桥接收到一个帧时&#xff0…

LeetCode 876 Middle of the Linked List 解题报告

题目要求 Given a non-empty, singly linked list with head node head, return a middle node of linked list. If there are two middle nodes, return the second middle node. 题目分析及思路 题目给出一个非空单链表&#xff0c;要求返回链表单的中间结点。可以将链表中的…

计算机网络(十八)-以太网

一.概述 1.1 以太网指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范&#xff0c;是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD技术。 1.2 以太网在局域网各种技术中占统治性地位。 造价低;是应用最广泛的局域网技术。比令…

Cell颠覆性发现:中脑神经元的新作用

来源&#xff1a;生物通除了颠覆长期以来关于中脑运动区域作用的观点&#xff0c;这项研究还可能缓解对药物无效的帕金森病患者的姿势和步态问题具有启示意义。中脑运动区是中脑的一部分&#xff0c;参与调节许多动物的行走和其他形式的运动。但是大脑这一区域神经元的功能仍然…