首页 > 编程语言 >每日一道算法题 删除字符串中出现次数最少的字符

每日一道算法题 删除字符串中出现次数最少的字符

时间:2024-06-20 12:59:18浏览次数:20  
标签:字符 min int counter 算法 str 字符串 alpha include

题目

删除字符串中出现次数最少的字符_牛客题霸_牛客网 (nowcoder.com)

C语言

#include <stdio.h>
#include <string.h>


void fun_2024_6_17(void) {

    char str[20] = { 0 };
    while (scanf("%s", str)!=EOF) {
        int alpha[26] = { 0 };
        int min = 20;
        int len = strlen(str);
        for (int _ = 0; _ < len; _++) alpha[str[_] - 'a']++;

        for (int _ = 0; _ < 26; _++) if (alpha[_] && alpha[_] < min) min = alpha[_];

        for (int _ = 0; _ < len;
                _++) if (alpha[str[_] - 'a'] > min) printf("%c", str[_]);

        printf("\n");
    }
}
int main() {
    /*char s[] = "1234";
    printf("%s", s + 1);*/
    fun_2024_6_17();
    return 0;
}

C++

#include <iostream>
#include <string>
#include <vector>
using namespace std;


void fun_2024_6_17(void) {
    string s;
    vector<int> counter(26, 0);
    while (cin >> s) {
        for (auto c : s) counter[c - 'a']++;
        int m = counter[s[0] - 'a'];
        for (auto c : s) if (counter[c - 'a']) m = min(m, counter[c - 'a']);

        for (auto c : s) if (counter[c - 'a'] > m) cout << c;

    }

}

int main() {
    fun_2024_6_17();
    return 0;
}

Python

from collections import Counter

def fun_2024_6_17(s):

    counter=Counter(s)
    minV=min(counter.values())
    for e in s:
        if counter[e]!=minV:
            print(e,end='')

s=input()
fun_2024_6_17(s)

标签:字符,min,int,counter,算法,str,字符串,alpha,include
From: https://blog.csdn.net/weixin_65816128/article/details/139730377

相关文章

  • 0基础学C++ | 第02天 | 基础知识 | sizeof关键字 | 浮点型 | 字符型 | 转义字符 | 字
    前言  该文章是在B站学习C++,同时结合自己的理解整理的笔记,视频连接:https://www.bilibili.com/video/BV1et411b73Z/?p=8&spm_id_from=333.880.my_history.page.click 1、sizeof关键字作用:利用sizeof关键字可以统计数据类型所占用的内存大小语法:sizeof(数据类型/变量)#incl......
  • 【算法与设计】期末总结
    文章目录第一章概述算法与程序时间复杂性求上界第二章递归与分治双递归函数——Ackerman函数分治策略大整数乘法两位×两位四位x四位三位x三位两位x六位第三章动态规划矩阵连乘基本要素最优子结构子问题重叠备忘录第四章贪心算法活动安排问题基本要素贪心选......
  • DEMO_01:List数据存储,回调函数,集合转字符串,元素去重
    *题目:*1.构建属性结构List<DemoNode>data,根据本包的data.png中数据结构图将数据存入data中(字就是nodeName)*2.将树形结构List<DemoNode>里面的元素全部遍历出来存放到List<String>list中,输出结果转换成字符串:粉粉碎机被粉碎机粉碎了怎么办*3.将list里元素去重后......
  • linux - 字符串替换
    使用场景:部署项目的时候,需要统一修改IP地址等内容。缺点:这些命令,都缺少必要的校验功能,容易因为操作失误,会出现未替换,或者替换成空串的情况。比如说:写了好多行的sed命令,不小心删了一行代码,这种情况下,执行代码不会报错,因此很容易埋下安全隐患。推荐:要进行很复杂的替换时,还是......
  • 编程语言与字符编码
    聊聊在编程语言中的字符,例如Java‍一个字符占多少个字节?得看情况,不同编码下情况不同。这里引用肖国栋大佬的知乎回答:具体地讲,脱离具体的编码谈某个字符占几个字节是没有意义的。就好比有一个抽象的整数“42”,你说它占几个字节?这得具体看你是用byte,short,int,还是long来......
  • #C:比如有如下两个字符串:“hello“、“helhehe“不能使用库函数完成字符串的比较
    #include<stdio.h>#include<string.h>voidtest00()//比如有如下两个字符串:"hello"、"helhehe"不能使用库函数完成字符串的比较{ //时刻需要注意变量i的值  charbuf1[128]="";   printf("请输入第一个字符串buf1:");   //scanf("%s",buf1);......
  • #c:键盘输入一个字符串判断它是不是回文 回文:123321
    小小案例仅供参考:/键盘输入一个字符串判断它是不是回文比如:12321这个就是回文#include<stdio.h>#include<string.h>voidtest01(){  charbuf[128]="";  printf("请输入一个字符串:\n");  fgets(buf,sizeof(buf),stdin);  buf[strlen(buf)-1]=0; ......
  • 算法金 | 再见!!!梯度下降(多图)
    大侠幸会,在下全网同名「算法金」0基础转AI上岸,多个算法赛Top「日更万日,让更多人享受智能乐趣」接前天李沐:用随机梯度下降来优化人生!今天把达叔6脉神剑给佩奇了,上吴恩达:机器学习的六个核心算法!——梯度下降1、目标梯度下降优化算法的概述,目的在于帮助读者......
  • 基于变异混合蛙跳算法的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘
    1.程序功能描述变异混合蛙跳算法的车间调度最优化,可以任意调整工件数和机器数,输出甘特图。 2.测试软件版本以及运行结果展示MATLAB2022a版本运行                     3.核心程序%初始种群Pop_n=round(sqrt(Npop));......
  • 算法基础
    计算复杂度复杂度在算法竞赛中对算法的选择有很大的帮助,利用复杂度可以简化思考,并帮助得到正确的算法。一般来讲,将基础的运算操作都当成常数复杂度即\(O(1)\),所以实际上在考虑的问题就是这种基础运算操作在数据规模极大的情况下的运算次数。常见的复杂度有对数多项式,也就是常......