hackerrank---Find a string】的更多相关文章

I saw the same sub-problem in LeetCode, and there exists a O(n) neat greedy solution: for _ in range(int(input())): a = input() + '[' b = input() + '[' output = "" for _ in range(len(a) + len(b) - 2): if a < b: output += a[0] a = a[1:] else:…
问题 https://vjudge.net/problem/HackerRank-beautiful-string 给一个字符串S,可以任意取走S中的两个字符从而得到另外一个字符串P,求有多少种不同的P \(\left|S\right|\le10^6\) 题解 想到组合数 将连续的相同的字符分为1组,如字符串“aaabbbbaccca” 则可以选两组中的两个字母或一组中的两个字母 计算出连续的组数设为x计算出长度大于等于2的组数设为y\[ans = \left( \begin{array}{l}…
Firt thought: an variation to LCS problem - but this one has many tricky detail. I learnt the solution from this link:https://github.com/wangyongliang/Algorithm/blob/master/hackerrank/Strings/Square%20Subsequences/main.cc And here is his code with my…
https://www.hackerrank.com/contests/w9/challenges/lexicographic-steps 这题还是折腾很久的.题目意思相当于,比如有两个1两个0,那么找组成的数里第k大的.想法就是,如上例,假如K为4,那么先看后两位够了么C(2,2)=1,不够,那么看后三位C(3,2)=3,也不够,后四位是C(4,2)=6,够了,那么第一个1在倒数第4位.然后减去C(3,2)继续做. #include <iostream> #include <vecto…
https://www.hackerrank.com/contests/w3/challenges/sam-and-substrings DP.注意到以N[i]结尾的每个字符串的子数字和有规律: 53125 | 3 53 | 1 31 531 | 2 12 312 5312 sd[2] = 1 + 31 + 531 = 563sd[3] = 2 + 12 + 312 + 5312sd[3] = 2 + 10 + 2 + 310 + 2 + 5310 + 2sd[3] = 4 * 2 + 10 *…
https://www.hackerrank.com/contests/w3/challenges/the-love-letter-mystery 简单题. #include <cstdlib> #include <string> #include <iostream> using namespace std; int main() { int N; cin >> N; while (N--) { string s; cin >> s; int…
https://www.hackerrank.com/contests/w6/challenges/acm-icpc-team 这道题在contest的时候数据量改小过,原来的数据量需要进行优化才能过.参考了:http://chasethered.com/2014/07/hackerrank-weekly-challenge-6-problem-1/ 首先是转化成int32的数组,然后N^N的复杂度两两比较求bit数.求bit中1的个数有几种做法: - x & (x - 1)- Hamming…
Hackerrank 2020 February 2014 解题报告 比赛链接 Sherlock and Watson (20分) 题意:给定一个数组,向右平移K次,然后有Q个询问,问第x位置上是几 做法:直接模拟即可 #include <iostream> using namespace std; int n,k,q; ],b[]; int main(){ ios::sync_with_stdio(); cin>>n>>k>>q; ;i<n;i++)…
题目链接:https://www.hackerrank.com/challenges/almost-sorted-interval 题目大意: 定义一个“几乎单调”区间(区间最小值在最左面,最大值在最右面) 给一个N的排列,求“几乎单调”区间的个数 N=100W  解法为O(n) 很好的思维题! 想了一下午,其实自己离正解已经不远了,,不过最后还是看了学长的ac代码 然后基本上秒懂了 具体思维方式不好说啊..贴个代码,以后又不会了的话慢慢回忆吧= =|| #include <iostream>…
HackerRank - greedy-florist [贪心] 题意 有N个人 要去买K朵花.老板为了最大化新顾客的数量.就压榨回头客.每一朵花都有一个基本价格.一个顾客买下这朵花的价格是他来这里买的次数 * 基本价格 打个比方 如果一个顾客第一次来买 它来买的次数就是1,然后求这N个人买下这K朵花最少需要花多少钱.K朵花必须全部买下来,而且每种价格的花只有一种. 思路 如果 N >= K 那么 就直接对K多花的基本价格求和就可以了. 如果 N < K, 那么我们要充分利用每个客户的购买次数…
HackerRank - candies [贪心] Description Alice is a kindergarten teacher. She wants to give some candies to the children in her class. All the children sit in a line (their positions are fixed), and each of them has a rating score according to his or he…
HackerRank - powers-game-1 [博弈论] 题意 给出 * 2^1 * 2^2 * 2^3 * 2^4 * 2^5 * 2^n 这一串东西 ,然后有两个玩家,*号是可以被替换掉的东西,可以换成+ 或者 - 然后最后的式子求出来后MOD 17 如果最后的结果 == 0 则 P2 wins 否则 P1 wins 思路 因为MOD 17 根据同余定理,我们可以 在替换*号之前就MOD 比如 2^1 2^2 2^3 2^4 2^5 2^6 2^7 2^8 2 4 8 16 15 1…
HackerRank - journey-to-the-moon [并查集] 题意 有很多不同的宇航员,有些宇航员来自同一个国家,有些宇航员来自不同的国家,然后美国航天局想要选出两名来自不同国家的宇航员,求出最大的选法.然后 数据一对一对的给出 给出的说明这两人是来自同一个国家的. 思路 使用并查集并压缩路径,然后最后在MAP 里面存放的就是 有几个"祖先",并且这个祖先里面下属加上它一共有多少人 然后求不同的人数 就是排列组合 AC代码 #include <iostream&g…
HackerRank - string-reduction[反推] 题意 给出一串 只有 字母 a, b, c 组成的字符串,然后没两个不同的字符碰到一起都可以变成另外一个字符,然后变到最后,求最短的字符串长度. 思路 ①如果给出的字符串都是相同的字符,那么显然,答案就是这个字符串的长度 ②如果不是 那么答案 可能是1 或者是 2 ③我们可以反着推回去.就是假如 刚开始的状态的1 我们可以先假定 x = 字符a的数量 y = 字符b的数量 z = 字符c的数量 如果某个字符串 是由 1 推过去的…
HackerRank - common-child[DP] 题意 给出两串长度相等的字符串,找出他们的最长公共子序列e 思路 字符串版的LCS AC代码 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <deque> #include <vector> #include <queue> #include…
https://www.hackerrank.com/challenges/reduced-string/problem He wants to reduce the string to its shortest length by doing a series of operations in which he selects a pair of adjacent lowercase letters that match, and then he deletes them.  aaabccdd…
传送门:https://www.hackerrank.com/contests/world-codesprint-11/challenges/hackerland [题解] 因为加点每次加1个点1条边,所以不会存在一定要经过后加的那些点才能到达的情况. 直接把最后的图建出来,tarjan缩强联通分量+拓扑排序处理连通性. 拿个bitset维护拓扑排序过程即可.复杂度O(n^2/32) # include <queue> # include <bitset> # include &l…
题目链接:Running Time of Quicksort Challenge In practice, how much faster is Quicksort (in-place) than Insertion Sort? Compare the running time of the two algorithms by counting how many swaps or shifts each one takes to sort an array, and output the dif…
https://www.hackerrank.com/contests/infinitum16-firsttimer/challenges/solve-equations 给定一条方程a*x + b*y = c 保证有解的情况下,我们要求一个点,满足x > 0且 这个点到原点的欧几里德距离最短 根据扩展欧几里德算法,我们能求得一组(x1,y1)满足x1 > 0的解,第一个x>0的解. 然后通解就是x2 = x1 + b/abgcd*k  y2 = y1 - a/abgcd*k 如果(x2…
https://www.hackerrank.com/contests/world-codesprint-6/challenges/bonetrousle 给定一个数n,和k个数,1--k这k个,要求选择b个数,使得这b个数的和等于n. 首先考虑最小值,在1--k中选择前b个数,是最小的,记为mi.最大值,后b个数相加,记为mx 注意到一个东西:如果mi <= n <= mx.那么是绝对可行的.因为mi总能增加1(同时保证满足要求),所以在这个区间里面的,都是可行解. 所以首先从mi开始枚举,…
---恢复内容开始--- https://www.hackerrank.com/contests/world-codesprint-6/challenges/abbr 给定两个串str和sub. 对于每个str中的小写字母,可以变成大写,其他小写字母,能无条件删除,问其能否变成sub 一开始的时候贪心,用个数组标记两个串中字母各有多少个,一直模拟.然后卡死在一组数据上.我也发现不了是什么数据. 那么就dp吧 考虑dp[i][j]表示在str中的第i位转变成sub中的第j位,是否可能. dp[i]…
https://www.hackerrank.com/contests/hourrank-18/challenges/super-six-substrings 能被6整除的数有一个特点,就是能同时被3和被2整除 那么也就是能整除3的偶数. 设dp[i][j]表示以第i位结尾的所有子串中,%3的余数是j的方案数, dp[i + 1][(j * 10 + nowNumber) % 3] = dp[i][j] 注意那个 * 10是必须的,因为从第i项转移过来,位数应该移动一位.就比如,12 1 % 3…
Problem Statement You are given a matrix with m rows and n columns of cells, each of which contains either 1or 0. Two cells are said to be connected if they are adjacent to each other horizontally, vertically, or diagonally. The connected and filled…
摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的. 本文将侧重在通过WinDBG来观察String在进程内的布局, 以此来解释C# String的一些特性. 问题 C# String有两个比较有趣的特性. String的恒定性. 字符串横定性是指一个字符串一经创建,就不可改变.那么也就是说当我们改变string值的时候,便会在托管堆上重新分配一块…
本编主要介绍String 字符串对象. 目录 1. 介绍:阐述 String 对象的说明以及定义方式. 2. 实例属性:介绍 String 对象的实例属性: length. 3. 实例方法:介绍 String 对象的实例方法:charAt.charCodeAt.concat.indexOf等方法. 1. 介绍 1.1 说明 String 对象,对字符串进行操作,如:截取一段子串.查找字符串/字符.转换大小写等等. 1.2 定义方式 1.2.1 new String(Value) 构造函数:返回一…
在ElasticSearch中,存入文档的内容类似于传统数据每个字段一样,都会有一个指定的属性,为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成字符串值,Elasticsearch需要知道每个字段里面都包含了什么类型.这些类型和字段的信息存储(包含)在映射(mapping)中. 核心简单字段类型 Elasticsearch支持以下简单字段类型: String:string(弃用), text, keyword(ElasticSearch 5.0开始支持,先以string介绍…
string 与 String,大 S 与小 S 之间没有什么不可言说的秘密 目录 小写 string 与大写 String 声明与初始化 string string 的不可变性 正则 string 与原义 string string 的转义序列 格式化字符串 操作子字符串 字符串的 null 与 ""(空) 可提高性能的 StringBuilder 序 字符串是 String 类型的对象,它的值是文本. 在内部,文本被存储为 Char 对象的顺序只读集合. C# 字符串末尾没有以 n…
在ajax请求后得到的json数据,遍历的时候chrome控制台报这个错误:Uncaught RangeError: Invalid string length,在stackoverflow查找答案时,找到了提示, 原因:双重遍历过程中,重复使用变量i导致,把内for循环的变量换个就可以了.…
参考文章:http://www.liangshunet.com/ca/201303/218815742.htm 字符串之间的连接常用的两种是:“+”连接.string.format格式化连接.StringBuilder 连接 1.什么时候使用“+”连接呢? 待连接的字符串在6个以下,可以使用 + 连接 使用 + 连接最终会调用 String.Concat 方法,当同时连接几个字符串时,并不是每连接一个都分配一次内存,而是把几个字符都作为 String.Concat 方法的参数,只分配一次内存,如…
之前以为BinaryWriter写string会严格按构造时指定的编码(不指定则是无BOM的UTF8)写入string的二进制,如下面的代码: //将字符串"a"写入流,再拿到流的字节组data using (var ms = new MemoryStream()) { using (var bw = new BinaryWriter(ms)) { bw.Write("a"); } byte[] data = ms.ToArray(); } 因为字母a的utf8编码…