将字符串 aaaabbbbddd 转换为 a4b4d3

2023-11-22

我正试图在练习面试问题上取得领先,我遇到了这个问题:

将字符串 aaaabbbbddd 转换为 a4b4d3

您基本上希望将现有字符串转换为包含每个唯一字符出现次数以及该字符出现次数的字符串。

这是我的解决方案,但我认为它可以改进为更优雅的东西:

    String s = "aaaabbbbddd";
    String modified = "";
    int len = s.length();
    char[] c = s.toCharArray();
    int count = 0;
    for (int i = 0; i < len; i++) {
        count = 1;
        for (int j = i + 1; j < len; j++) {
            if (c[i] == ' ') {
                break;
            }
            if (c[i] == c[j]) {
                count++;
                c[j] = ' ';
            }

        }
        if (c[i] != ' ') {
            modified += c[i] + "" +  count; 

        }
    }
    System.out.println(modified);

有人对解决方案有其他建议吗?


雇用一个Map<Character, Integer>反而。尝试将新角色插入地图;如果它已经存在,则增加该特定字符的值。

Example:

Map<Character, Integer> countMap = new HashMap<>();
if(!countMap.containsKey('a')) {
    countMap.put('a', 1);
} else {
    countMap.put('a', countMap.get('a') + 1);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串 aaaabbbbddd 转换为 a4b4d3 的相关文章

  • 有没有一种独立的JAVA可以在PC上运行而无需任何操作系统

    据我所知 java 程序可以在任何操作系统上运行 任何类型的机器都有 JVM 我需要一个在我的 PC 上独立运行的 JVM 而不是在我的操作系统 Windows 或任何其他操作系统 上运行 我的意思是 JVM 的作用类似于启动 而不是操作系
  • 删除 PriorityQueue 的顶部?

    假设我使用 Java util 中的 PriorityQueue 类 我想从 PriorityQueue pq 中删除最大的数字 我们假设它位于队列的头部 下面的工作会起作用吗 1 int head pq peek pq dequeue h
  • 如何使用 Java 本机接口将字节数组传递到以 char* 作为参数的 C 函数中?

    所以我需要使用JNI从java调用C函数 当传入不同的数据类型 创建本机变量 头文件 共享库等等 时 我已经能够成功地做到这一点 但无法让它与字节数组一起使用 这是我的 C 函数 include
  • Java 将 String[] 转换为 int[]

    我有一个 String 其中每个元素都可以转换为整数 将其转换为 int 的最佳方法是什么 int StringArrayToIntArray String s public static int StringArrToIntArr Str
  • 在 Java 中停止线程? [复制]

    这个问题在这里已经有答案了 我正在编写一段代码 该代码连接到服务器 使用该连接生成一堆线程并执行一堆 东西 在某些情况下 连接会失败 我需要停止一切并从头开始使用新对象 我想在对象之后进行清理 但在线程上调用 thread stop 但此方
  • Hazelcast Jet 变更数据捕获

    我在我的应用程序中使用 Hazelcast 更改数据捕获 CDC 我使用 CDC 的原因是 如果使用 jdbc 或其他替代功能将数据加载到缓存中 会花费大量时间 所以CDC将在数据库和 Hazelcast Jet 之间进行数据同步 Stre
  • Mac OSX 上使用 Java 7 的透明 JFrame/JWindow

    我们有一个屏幕共享小程序 它打开 Swing JFrame 并使用 Robot 类捕获空框架后面的屏幕 用户可以单击框架并与小程序后面的任何内容进行交互 这在 Windows 上运行良好 并且用于 Apple 的 Java 版本 但对于 M
  • 如何跨工作区保存 E​​clipse 启动配置文件?

    当我复制 Eclipse 项目目录时 它包含 classpath 和 project 文件 这样当我将同一目录带到另一个 Eclipse 实例时 我不必设置我的构建路径等 假设所有资源都包含在在项目中 而不是外部 但是 此过程不会导致启动配
  • Spring 在 AuthenticationSuccessHandler 中自动装配会话范围 bean 不起作用

    我正在使用 spring security 我想初始化一个对象User在用户成功登录后的会话中 安全配置如下 Configuration EnableWebSecurity PropertySource classpath configs
  • 使用 Gradle 构建 Kotlin + Java 9 项目

    我对 Gradle 老实说 还有 Java 9 相当陌生 我正在尝试使用 Gradle 构建一个混合了 Java 9 和 Kotlin 的简单库项目 更详细地说 Java中有一个接口 Kotlin中有一个实现 我会用 Kotlin 做所有事
  • Java 会话变量

    我听说有些人认为在会话中将信息存储在服务器上是一个坏主意 因为它不安全 因此 在多页面业务流程功能中 应用程序将数据写入数据库 然后在需要时检索信息 在会话中存储私人信息是否一定不安全 只要会话本身安全 在会话中存储属性就不存在安全风险劫持
  • 在 Scala 中创建 Java 对象

    我有一个 Java 类 Listings 我在 Java MapReduce 作业中使用它 如下所示 public void map Object key Text value Context context throws IOExcept
  • java代码的等效vb代码

    谁能告诉我这段Java代码到底做了什么 SecureRandom random SecureRandom getInstance SHA1PRNG byte bytes new byte 20 synchronized random ran
  • spring-hibernate 花费更多时间的任何原因?

    目前 我正在春季和冬眠期间从事一个项目 我来到这里 获取记录并在 JSP 中显示这些记录需要更多时间 我在各处都保留了时间戳 以查看哪里花费了更多时间 Time HomeController start 2014 07 09 18 58 5
  • 应返回带有 html 代码的字符串的支持 bean 属性返回空字符串

    我的支持 bean 中有一个返回 html 代码的属性 public String getHtmlPrevisualizar return Hello world 我想要做的是在 iframe 中显示这个 html 代码 我用 JavaSc
  • 清单合并失败:需要为 显式指定 android:exported

    我的清单文件有问题 错误消息 清单合并失败 android 需要为 明确指定导出 面向 Android 12 及更高版本的应用需要指定显式值android exported当相应的组件定义了意图过滤器时 有关详细信息 请参阅 https d
  • 选择活动时运行时崩溃

    首先我想说我几乎没有 Android 经验 这是我在 Android 中的第一个项目 而且我的老师不太擅长教学 所以我对任何过度的无知表示歉意 在进一步讨论之前先解释一下 我的应用程序的目标本质上是能够记录您在某些活动上花费了多少时间 记录
  • 为什么我得到:没有有效的 JFX 运行时

    我有一个使用 java 1 6 编译并使用 jnlp webstart 运行的现有应用程序 如果我使用 JRE 1 6 从客户端运行此应用程序 一切都会很好 但是 当我使用 java JDK 7 编译代码并使用 JRE 1 7 67 运行客
  • 尝试 Catch 性能 Java

    当捕获异常而不是进行检查时 try catch 需要多长时间 以纳秒为单位 假设消息具有用于查找的 HashMap 类型性能 try timestamp message getLongField MessageField TIMESTAMP
  • 这种说法是否恰当。 if (0 != 表达式或变量) {} 在java中? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • 三次贝塞尔曲线上的最近点?

    如何沿着三次贝塞尔曲线找到最接近平面上任意点 P 的点 B t 我编写了一些快速而简单的代码来估计任意阶贝塞尔曲线的这一点 注意 这是伪暴力 而不是封闭式解决方案 Demo http phrogz net svg closest point
  • 使用 EclipseLink MOXy (JAXB) 将子类编组为 JSON 时是否可以隐藏“@type”条目?

    我即将开发一个基于 JAX RS 的 RESTful Web 服务 并使用 MOXy JAXB 来自动生成 Web 服务的 JSON 响应 一切都很酷 但由于 Web 服务将是基于 JavaScript 的 Web 应用程序的后端 因此可以
  • 具有提升权限的 CreateProcessAsUser

    我的服务在本地系统权限下运行 需要在用户会话中启动具有管理员权限的应用程序 我得到的是 WTSGetActiveConsoleSessionID WTSQueryUserToken用于会话 ID CreateProcessAsUser 问题
  • 让 Discord Bot 在 repl.it 上保持在线

    我该如何使用repl it对于我的 Python Discord Bot 并保持其 24 7 运行 我以前用过keep alive但由于某种原因它停止工作 有没有人有什么建议 我不断在控制台中收到此错误 172 18 0 1 2019 年
  • Python 的 site-packages 目录是什么?

    目录site packages在各种Python相关文章中都提到过 它是什么 我该如何使用它 site packages is the 目标目录手动构建的 Python 包 当您从源代码构建并安装 Python 包时 使用迪斯图尔斯 可能通
  • 如何从 Visual Code 中的快速打开菜单打开多个文件?

    我想知道是否可以从 Visual Code 中的快速打开菜单中打开多个文件 使用cmd p默认快捷方式 如果能够选择结果中的前 N 个文件并立即打开它们 将会很有帮助 例如 我可以输入 test device js 并且可以打开前 3 个文
  • Prolog 中的幂函数

    我的电源功能出了什么问题 pow 0 1 pow X Y Z pow X Y 1 X Z pow 2 3 Z ERROR Out of global stack 你的 Y 不会递减 你不能使用像函数这样的谓词 您还必须将 Z 与乘法结果统一
  • 如何在Django的同一页面上插入2个不同的表单

    我必须在同一页面中插入两个表单 1 登记表 2 登录表格 所以如果我在views py中使用它 if request method POST form registrationForm request POST if form is val
  • 不可变类和子类

    我正在尝试了解可变 不可变类 我遇到了这个帖子 提供的部分答案是 如果你想强制不变性 你就不能有子类 看 例如 java lang String 由于这个原因它是最终类 防止人们对 String 进行子类化以使其可变 好吧我明白了but 你
  • 在 Java 中 Jackson JSON 反序列化期间忽略丢失的属性

    在示例中 class Person String name int age 如果 JSON 对象缺少属性 age name John Person person objectMapper readValue jsonFileReader P
  • 可以授予一台计算机上的“网络服务”对另一台计算机上的目录的权限吗?

    我有一个文件 Computer1 Share file pdf 我需要使用在另一台计算机上作为网络服务帐户运行的服务来打开 Computer2 NETWORK SERVICE FWIW 两者Computer1 and Computer2位于
  • 在除一侧之外的所有侧面上创建 CSS3 框阴影

    我有一个选项卡式导航栏 我希望打开的选项卡有一个阴影 以将其与其他选项卡区分开来 我还希望整个选项卡部分有一个向上的阴影 参见底部水平线 遮蔽除打开的选项卡之外的所有选项卡的底部 我将使用 CSS3box shadow财产来做到这一点 但我
  • 在 ASP.NET 页面中包含脚本的正确方法

    我有一个 ASP NET 应用程序 它混合使用了由不同背景的几位开发人员编写的 ASP NET AJAX 包括 UpdatePanel 和 jQuery 一些包含在 ScriptManager 本身中的脚本
  • PHP 如何将标题定位到父目录中的页面?

    我有一个first php页面与 header Location script script1 php and script1 php还有另一个 header Location first php 但这显然让我 script first p
  • 使用 ACTION_SEND 共享文本文件

    我们可以使用 ACTION SEND 打开共享对话框来共享文本 Intent sendIntent new Intent sendIntent setAction Intent ACTION SEND sendIntent putExtra
  • Xcode -dynamic 未指定静态库错误

    我在 Xcode 中有一个子项目 它创建一个由父项目引用的静态库 一切都很好 直到 iOS 7 1 和 Xcode 5 1 发布 突然我收到以下警告 Applications Xcode app Contents Developer Too
  • 在 PHP 中解析时取消货币格式

    有没有办法获取字符串的浮点值 如下所示 75 25 以外parsefloat str replace var 我希望这取决于当前的站点语言 有时逗号可以用点代替 这是一个稍微复杂 缓慢的解决方案 但适用于所有区域设置 rlenom 的解决方
  • 为什么 move 返回一个右值引用参数需要用 std::move() 包装它?

    我正在阅读 Effective Modern C Item 25 第 172 页 它有一个示例来演示 如果您想移动返回右值引用参数 则需要用 std move param 包装它 由于参数本身始终是左值 如果没有 std move 它将被复
  • Pipeline 在 Bash 中似乎没有任何作用

    任何人都可以解释我为什么会这样 python V awk print 2 返回这个 Python 2 7 5 代替 2 7 5 如何只返回版本号而不返回 Python 如果你跑 python V gt dev null 你会注意到你仍然得到
  • 将字符串 aaaabbbbddd 转换为 a4b4d3

    我正试图在练习面试问题上取得领先 我遇到了这个问题 将字符串 aaaabbbbddd 转换为 a4b4d3 您基本上希望将现有字符串转换为包含每个唯一字符出现次数以及该字符出现次数的字符串 这是我的解决方案 但我认为它可以改进为更优雅的东西