CareerCup Eliminate all ‘b’ and ‘ac’ in an array of characters

2024-03-17 16:08

本文主要是介绍CareerCup Eliminate all ‘b’ and ‘ac’ in an array of characters,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Eliminate all ‘b’ and ‘ac’ in an array of characters, you have to replace them in-place, and you are only allowed to iterate over the char array once. 

Examples: 
abc -> ac 
ac->'' 
rbact->rt

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

The key point is in-place and iteration once.

 

 

int eliminate( char* p)
{int deleted = 0;if (! p )return deleted;while (*p){if (*p == 'b')deleted++;else if ( ( *p == 'a' ) && ( *(p+1) == 'c')){deleted += 2;p++;} else if ( deleted > 0 )*(p-deleted) = *p;p++;}*(p-deleted) = '\0';return deleted;
}

 

 

 

 

 

这篇关于CareerCup Eliminate all ‘b’ and ‘ac’ in an array of characters的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819446

相关文章

array_walk()使用

bool  array_walk (  array &$array ,  callable $callback [,  mixed $userdata = NULL ] ) 将用户自定义函数 funcname 应用到 array 数组中的每个单元。 array_walk() 不会受到 array 内部数组指针的影响。array_walk() 会遍历整个数组而不管指针的位置。 array

【C++11 之新增容器 array、foward_list、tuple、unordered_(multi)map/set】应知应会

C++11 标准中新增了多个容器,这些容器为 C++ 程序员提供了更多的选择,以满足不同的编程需求。以下是对这些新容器的介绍和使用案例: std::array 介绍: std::array 是一个固定大小的数组容器,它在栈上分配内存,并提供了类似于标准库容器的接口。它提供了更好的类型安全性和范围检查,同时保持了与原生数组相似的性能。std::array 的大小必须在编译时确定,并且不能更改。

Python中的range()与array()函数

我们在Python中存在一个非常好用的range()与array()函数,下面作用法简要介绍。 一、range()函数   >>> range(1,10)   ——>不包括10[1, 2, 3, 4, 5, 6, 7, 8, 9]>>>range(1,10,2)  ——>1到10,间隔为2(不包括10)[1, 3, 5, 7, 9]>>>range(10)    ——>0到10,不

array_key_exists() expects parameter 2 to be array, null given

公众号获取微信服务器IP地址 错误代码如下 public function getwxIP(){//获取微信服务器IP地址$accessToken = $this->getwxoaiAccessToken();$userToken = new UserToken();$result = $userToken->curl_get("https: //api.weixin.qq.com/cgi-

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的巡演(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 https://app5938.acapp.acwing.com.cn/contest/2/problem/OD1073 🌍 评测功能需要 ⇒ 订阅专栏 ⇐

C#中的数组Array和List集合区别

在C#中,数组(Array)和List集合(List<T>)是两种不同的数据结构,它们有一些区别,主要包括以下几点: 固定长度 vs 动态长度: 数组是固定长度的数据结构,一旦创建后,其长度无法改变。 List集合是动态长度的数据结构,可以根据需要动态增加或减少元素。 类型限制: 数组可以存储任意类型的元素,包括值类型和引用类型。 List集合是泛型集合,可以指定存储的元素类型,例如 Li

DC-DC 高压降压、非隔离AC-DC、提供强大的动力,选择优质电源芯片-(昱灿)

畅享长续航,尽在我们的充电芯片! 无论是手机、平板还是智能设备,长时间使用后电量不足总是令人头疼。然而,我们的充电芯片将为您带来全新的充电体验!采用先进的技术,我们的充电芯片能够提供快速而稳定的充电效果,让您的设备充满电,畅快使用,不再为短暂的电量而烦恼! (一) 1.  YB2411SR   SOT23-6   60V  0.8A  DC-DC高压降压 (兼容TD1465 OC586

442. Find All Duplicates in an Array 找数组中重复的数

https://leetcode-cn.com/problems/find-all-duplicates-in-an-array/description/ 题意:找出数组中所有重复的元素 思路1:先将数组排序,然后判断是否重复,即若nums[i] != nums[i+1],即说明nums[i]非重复元素,可以删去. 重点在于指针(迭代器)的操作,由于vector的erase(删除)操作需要通

3. Longest Substring Without Repeating Characters 无重复字符的最长子串

https://leetcode.com/problems/longest-substring-without-repeating-characters/description/ 题目大意:给一个字符串,要求出最长的不含重复字符子串(要求连续,不是子序列). 解题思路:不重复,利用哈希表.hash是以字符的ASC为下标的数组,对应存储该字符最后出现的位置. 设一个标记start,然后一次遍历

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 反射计数(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 https://app5938.acapp.acwing.com.cn/contest/2/problem/OD1068 🌍 评测功能需要 ⇒ 订阅专栏 ⇐