实践记录以及工具使用 | 豆包MarsCode AI刷题

78 阅读3分钟

实践记录以及工具使用

深入剖析 AI 刷题的特定功能亮点

Marscode IDE 的“个性化题目推荐”功能是其核心亮点之一。这个功能通过分析用户的刷题历史、错误模式和学习进度,智能推荐适合用户的题目。这种个性化推荐不仅提高了刷题的效率,还能帮助用户更有针对性地弥补知识盲点。

对学习的重要性和独特价值

  1. 提高学习效率:传统的刷题方式往往需要用户自己筛选题目,而个性化推荐功能可以根据用户的实际情况,自动推荐最适合的题目,节省了大量时间。
  2. 针对性学习:通过分析错误模式,个性化推荐功能可以帮助用户发现并弥补知识盲点,从而更全面地掌握编程技能。
  3. 持续进步:随着用户刷题数量的增加,个性化推荐功能会不断调整推荐策略,确保用户始终处于最佳学习状态。

刷题实践:总结 AI 刷题的优势之处

优势之处

  1. 智能推荐:根据用户的刷题历史和错误模式,智能推荐适合的题目,提高学习效率。
  2. 云端编辑器:支持多设备同步,用户可以在任何地方继续刷题,不受设备限制。
  3. 实时反馈:用户提交代码后,系统会立即给出反馈,帮助用户及时发现并纠正错误。

实践案例分析

在刷题过程中,我遇到了一个需要将数字字符串转换为带千分位逗号的格式,并且去除前导零的问题。通过 Marscode IDE 的个性化题目推荐功能,我得到了这个题目,并在实践中逐步解决了问题。

结合题目帮我俺要修生成一篇笔记

题目描述

小M在工作时遇到了一个问题,他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。小M还发现,有时候输入的数字字符串前面会有无用的 0,这些也需要精简掉。请你帮助小M编写程序,完成这个任务。

测试样例

样例1:

输入:s = "1294512.12412"
输出:'1,294,512.12412'

样例2:

输入:s = "0000123456789.99"
输出:'123,456,789.99'

样例3:

输入:s = "987654321"
输出:'987,654,321'

解题思路

  1. 去除前导零:使用 BigDecimal 类来去除前导零。
  2. 分割整数和小数部分:使用 split("\.") 方法将字符串分割成整数部分和小数部分。
  3. 格式化整数部分:使用 StringBuilder 来手动插入逗号,实现千分位格式化。
  4. 拼接结果:将格式化后的整数部分和小数部分拼接起来。

代码实现

import java.math.BigDecimal;

public class Main {

    public static String solution(String s) {

        // 去除前导零

        BigDecimal bd = new BigDecimal(s);

        String noLeadingZeros = bd.toPlainString();

        // 分割整数和小数部分

        String[] parts = noLeadingZeros.split("\\.");

        String integerPart = parts[0];

        String decimalPart = parts.length > 1 ? parts[1] 

        : "";

        // 格式化整数部分

        StringBuilder formattedInteger = new 

        StringBuilder();

        int len = integerPart.length();

        for (int i = 0; i < len; i++) {

            if (i > 0 && (len - i) % 3 == 0) {

                formattedInteger.append(",");

            }

            formattedInteger.append(integerPart.charAt

            (i));

        }

        // 拼接结果

        if (decimalPart.isEmpty()) {

            return formattedInteger.toString();

        } else {

            return formattedInteger.toString() + "." + 

            decimalPart;

        }

    }

    public static void main(String[] args) {

        System.out.println(solution("1294512.12412").

        equals("1,294,512.12412"));

        System.out.println(solution("0000123456789.99").

        equals("123,456,789.99"));

        System.out.println(solution("987654321").equals

        ("987,654,321"));

    }

}

总结

通过 Marscode IDE 的个性化题目推荐功能,我不仅高效地解决了这个题目,还深入理解了如何处理数字字符串的格式化问题。这个功能极大地提升了我的学习效率,帮助我更有针对性地提升编程能力。