如何让代码更加优雅?
欢迎各位大佬改正、添加内容!
这是我对比代码后,问ai得出的。 肯定有更多让代码变优雅的知识,真诚的希望大佬们可以分享一下自己的心得
今天写了一个题,明明是和题解一样的逻辑,写出来的代码却不如题解那样简洁优雅。 于是,我了解到如下知识: 1.设计循环不变式(量) 2.大多数特殊情况(特殊case)都是不需要处理的,因为特殊case被包含与普遍情况中
一、循环不变量 在循环中,含义保持不变的那个变量(不管有多少次循环,这个变量含义都不会改变)
题目:找到最靠左的中心下标,使得它 左边元素和 == 右边元素和,找到了返回它,找不到返回-1 leetcode 724 (我写第二个循环,想先处理 i=0 时的左元素和,于是写出来很麻烦的代码)
如何定义? 1.想明白这个变量代表什么 sum 代表左元素和
2.循环第一次开始时,它初始化为多少才能代表这个含义? 循环开始时,i = 0 ,左元素和sum = 0 才对,这样我们就不需要再单独处理 i = 0 这个特殊case了
3.进行下一步循环前,我要怎么更新它才能让他代表这个含义? 开始下次循环前,让sum累加此时的nums[i],这样sum才是左元素和
=============== 本题每个循环要做的事:
- 求左元素和
- 判断 左==右 成立不,成立就返回
- 不成立就更新左元素和,开始下一个循环
循环中,判断放在了前面,更新放在了后面,就是总结完上面内容后得出的一个规律
相关专栏
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
Day 68时间19:00~ 22:00(3h)✅ 今天做了:Component注解、Mybatis配置、使用⏰ 明天计划:Lombok、Mapper映射、动态SQL📚 今日感悟:自动配置类DataSourceAutoConfiguration ,会读取properties文件,通过注解:@EnableConfigurationProperties(DataSourceProperties.cl
2
Day 19✅ 今天做了:MCP⏰ 明天计划:AI智能体构建📚 今日感悟:今天MCP问题有点多有点杂,明天找时间再捋一下。继续加油
1
Day 25✅ 今天做了:1、扇贝英语单词打卡2、英语听说读写、听力练习3、微信阅读15分钟4、编程导航学习⏰ 明天计划:待定📚 今日感悟:Keep going!
2
Day 104✅ 今天做了:学习了Java反射及快速入门⏰ 明天计划:继续学习Java反射
1
为啥codex老是提示这个啊
0
作者分享
做题总结day2(拆分和细节,数学,模拟)
2
Day 4
✅ 今天做了:
1.学了vector容器
2.做了三道关于矩阵的题
3.彻底搞明白了插入排序和选择排序
⏰ 明天计划:
1.清空二维数组的题
2.学习字符串和双指针(先各写两道题,题有点多)
3.巩固vector
4.学归并排序
5.周二老师要讲栈,抽时间把栈复习了
📚 今日感悟:
三道题做了快3个小时,还是暴力解法,我写代码的能力果然还是太弱了。
是不是要多写点模拟的题目,哈哈
2
Day 3
这里提醒一下自己,每复习完一个章节去看一下左程云的课再巩固
✅ 今天做了:
1. 复习数组
2. 力扣四道题
3. 学习了冒泡排序,之前没学到位。。。这次算是彻底搞明白了
⏰ 明天计划:
1.继续复习数组
2.力扣
3.彻底搞明白选择排序,插入排序。
4.数组复习完了就复习链表
📚 今日感悟:
今天再看冒泡排序时,发现自己之前的学习简直就是眼高手低啊!怪不得编不出来代码。
之前都是学会了算法之后就觉得自己学会了,压根不上机实现代码。
以后就跟着:学会数据结构的概念 ---> 理解基本操作的算法 ---> 立即上机实现,找自己被卡住的点,再着重去看这一点
几步走
感觉自己有畏难情绪,我要刻意地,努力地去克服
2
Day 2
✅ 今天做了:
1.今天把树给看完了,图开了一丢丢。
⏰ 明天计划:
开学以来,用力实在有些猛了,基本一天都在学习,但是没有专心的去学某一门,一直在涉猎。
今天开始脑子就有点懵了。明天不打算学太难的东西了,放松放松
1.打算按“数据结构学习路线”走,把算法基础、数组和集合、链表复习了
2.最近对逻辑学比较感兴趣,打算去图书馆看会儿《简单的逻辑学》
📚 今日感悟:我好累啊啊啊啊啊,又迷茫又累。不过,好在昨天发现了这个网站,第一次求助,小y就给我推荐了学习路线😋,不那么迷茫了🥰(对了,因为大一学的是c语言,所以我打算学c++路线。c++和Java路线除了语言不同,其它应该都是一样的吧?求解答)
3
Day 1(补昨天)
✅ 今天做了:
1. 写了4道双指针题
2. 开始了自己的第一个项目 WhaleMarket。做了其中的注册、登录部分
⏰ 明天计划:
📚 今日感悟:动手写项目前,无限焦虑,总觉得自己这也没学,那也没学,感觉自己写不出来。于是问豆包,发现这项目居然这么的简单。果然千遍万遍,不如经手一遍
求解答:
我双非软件工程大一,大学打算卷实习。
目前只学了c和c++基础语法,数据结构(才到树,目前只实现过单链表的一些操作)
希望各位前辈可以指点指点迷津,不知道实习这条路要怎么走下去
2


