优点
- UI 非常的漂亮,暗黑色系,代码渲染的也很好看
- 页面布局比较合理,题目列表、 AI 助手、终端栏都是可以收起的
- 所选题目都还不错
- 对话记录与题目对应绑定,方便查看,不容易乱
- AI 助手的上下文记忆能力比较强,可以持续优化代码
- AI 助手提供了将代码插入到光标处的功能,比较方便
缺点
- 题目是以markdown源码显示,并未渲染,不太美观
- 没有OJ平台,需要自己在代码中编写测试用例测试,不太方便,也没法保证作答的正确性
- 题目不具有难度和知识点的区分,不利于刷题学习
- AI 助手的 “给我一些代码提示吧” 会直接将作答的完整代码给出,不利于刷题时的自我思考和学习
- AI 助手无法在代码编辑器中直接使用,没有代码续写、代码提示等功能,只能通过侧边对话框交互
- 历史输出没有正常显示
代码练习界面截图
// 计算动态规划的核心部分
for (int i = 1; i <= len1; i++) {
for (int j = 1; j <= len2; j++) {
if (dna1[i - 1] == dna2[j - 1]) {
dp[i][j] = dp[i - 1][j - 1];
} else {
dp[i][j] = std::min(dp[i - 1][j] + 1, // 删除操作
std::min(dp[i][j - 1] + 1, // 增加操作
dp[i - 1][j - 1] + 1)); // 替换操作
}
}
}
AI 助手优化后:
// 计算三个值中的最小值
int minThree(int a, int b, int c) {
return std::min(a, std::min(b, c));
}
// 计算动态规划的核心部分
for (int i = 1; i <= len1; i++) {
for (int j = 1; j <= len2; j++) {
if (dna1[i - 1] == dna2[j - 1]) {
dp[i][j] = dp[i - 1][j - 1];
} else {
dp[i][j] = minThree(dp[i - 1][j] + 1, // 删除操作
dp[i][j - 1] + 1, // 增加操作
dp[i - 1][j - 1] + 1); // 替换操作
}
}
}
#豆包MarsCode刷题挑战# 总体使用体验还是很不错的,希望继续改进,提高用户使用体验!!!