应用开发算法--笔试经验1011
体验不太好
原因:
1、准备的知识题没有对应好范围 -- 很迷
2、算法题用了java,我不太会
第一题:
计算1-n数字中,x,y两数字中y%x的最大值, y>x
核心: 就是n的一半中偏大的那一个 用(n+1)/2 - 1做出来了
思路y越大越好, 然后对称性,mod不可以超过y的一半,观察到5 对应是2
奇数 对应 除以2
偶数对应除以2 - 1
统一一下就是 (n+1)/2 - 1
第二题:
只有0和1的字符串,找到距离最远的0和1字符串,0的个数 和 1的个数对应相等。
思路: 因为只能相邻位置交换。那么就计算leftone的个数,每次把0挪到最前面,再计算
计算left0的个数,每次把1挪到最前面,再计算
最后选出最大值。
000 1111
左边全0 右边全1 或者相反,这种模式肯定是最远的了
力扣今天的每天一题
思路是找到因数
就是用sqrt(x), 去遍历i,如果可以整除i,那么 x //i 和 i都是因数
最后sum获得因数的总个数。
还可以通过Counter() 得 第一个 字符key ,第二个值,出现次数
反思:
目标不够清晰,记忆的知识树没有建立起来,针对每个知识点都建立一个知识分支,后面标记复习的次数,可以打分1-5表示掌握程度。
比如算法,比如八股文,针对什么岗位,先把树标题建立起来,可以想象到它很大,但是如果没有记忆到本地文件,它就只会在大脑里面丢失,也可以优化学习记忆导图的方法,看看什么东西或者工具做个人知识管理比较好。
知识管理
目标
抓住重点
短期
长期