- 2021-02-15:给定一个整型数组arr,代表数值不同的纸牌排成一条线。玩家A和玩家B依次拿走每张纸牌,规定玩家A先拿,玩家B后拿。但是每个玩家每次只能拿走最左或最右的纸牌,玩家A和玩家B都绝顶聪明。请返回最后获胜者的分数。 福哥答案2021-02-15:这道题直接背,用自然智慧很难想到,平时需要锻炼敏感度。1.递归。有代码。先手 依赖 后手递归加数组元素的最大值。后手 依赖 先手递归的... 2021-02-15:给定一个整型数组arr,代表数值不同的纸牌排成一条线。玩家A和玩家B依次拿走每张纸牌,规定玩家A先拿,玩家B后拿。但是每个玩家每次只能拿走最左或最右的纸牌,玩家A和玩家B都绝顶聪明。请返回最后获胜者的分数。 福哥答案2021-02-15:这道题直接背,用自然智慧很难想到,平时需要锻炼敏感度。1.递归。有代码。先手 依赖 后手递归加数组元素的最大值。后手 依赖 先手递归的...
- 数据结构数据结构:是计算机存储、组织数据的方式,或者说是用来存储一组相关数据的方式。python内建数据结构:列表、元组、字典(1)列表列表(list):是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目,如购物清单、手机通讯录等。列表通常表示的是相关数据的集合。相比于把这些数据保存在单独的变量中,我们可以把它们以一个列表的形式来保存。定义列表:在python中定义列表需要使... 数据结构数据结构:是计算机存储、组织数据的方式,或者说是用来存储一组相关数据的方式。python内建数据结构:列表、元组、字典(1)列表列表(list):是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目,如购物清单、手机通讯录等。列表通常表示的是相关数据的集合。相比于把这些数据保存在单独的变量中,我们可以把它们以一个列表的形式来保存。定义列表:在python中定义列表需要使...
- 栈(Stack):栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。队列(Queue):队列和栈类似,也是一种特殊的线性表。和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作。数组(Array):数组是一种聚合数据类型,它是将具有相同类型的若干变量有序地组织在一起的集合。链表(Linked List):链表是一种数据元素按照链式存储结构进行存储... 栈(Stack):栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。队列(Queue):队列和栈类似,也是一种特殊的线性表。和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作。数组(Array):数组是一种聚合数据类型,它是将具有相同类型的若干变量有序地组织在一起的集合。链表(Linked List):链表是一种数据元素按照链式存储结构进行存储...
- 6. indentationerror: expected an indented block缩进错误:检查代码的缩进是否正确1) indentation [ˌɪndenˈteɪʃn] 行首缩进2) expected [ɪkˈspektɪd] 检查3) indented [ɪnˈdentɪd] 缩进的4) block [blɒk] 块7. valueerror: substring not ... 6. indentationerror: expected an indented block缩进错误:检查代码的缩进是否正确1) indentation [ˌɪndenˈteɪʃn] 行首缩进2) expected [ɪkˈspektɪd] 检查3) indented [ɪnˈdentɪd] 缩进的4) block [blɒk] 块7. valueerror: substring not ...
- 8种基本数据类型:{ 7种数值类型:{ 4种整数类型:byte(8位,-128到+127),short,int( -2^31到2^31-1),long(末尾用L标识); //注:如果整数类型运算过程中有long类型,结果为long类型;如果不存在long类型,运算过程中无论存不存在int类型,结果都为int类型,(下面的double浮点型,运算过程中存在double结果为d... 8种基本数据类型:{ 7种数值类型:{ 4种整数类型:byte(8位,-128到+127),short,int( -2^31到2^31-1),long(末尾用L标识); //注:如果整数类型运算过程中有long类型,结果为long类型;如果不存在long类型,运算过程中无论存不存在int类型,结果都为int类型,(下面的double浮点型,运算过程中存在double结果为d...
- 今天在朋友圈看到这样一个问题一毛钱一个桃,三个核换一个桃,拿1块钱最多能吃几个桃感觉脑海中忽然,某根神经被挑动了一下。第一次看到这个题目的时候,应该是小学二三年级,学数学的时候,那时候没啥玩具,父亲大人就给我买了一本奥数。当时回答,应该是说的,14,然后答案确实15,很有意思。来看下过程10 剩10个核3 剩4个核(第一次的1加上这里的3)1 剩2个核(第二次的1加上这里的1)1 剩0个核 ... 今天在朋友圈看到这样一个问题一毛钱一个桃,三个核换一个桃,拿1块钱最多能吃几个桃感觉脑海中忽然,某根神经被挑动了一下。第一次看到这个题目的时候,应该是小学二三年级,学数学的时候,那时候没啥玩具,父亲大人就给我买了一本奥数。当时回答,应该是说的,14,然后答案确实15,很有意思。来看下过程10 剩10个核3 剩4个核(第一次的1加上这里的3)1 剩2个核(第二次的1加上这里的1)1 剩0个核 ...
- 福哥答案2020-01-24:荷兰国旗问题三分+小于区递归+大于区递归。,相等区不用管。代码用go语言编写。利用slice特性,可以节省两个参数。代码如下:```gopackage mainimport ( "fmt" "math/rand" "time")func main() { rand.Seed(time.Now().Unix()) sucCount :... 福哥答案2020-01-24:荷兰国旗问题三分+小于区递归+大于区递归。,相等区不用管。代码用go语言编写。利用slice特性,可以节省两个参数。代码如下:```gopackage mainimport ( "fmt" "math/rand" "time")func main() { rand.Seed(time.Now().Unix()) sucCount :...
- 福哥答案2021-01-23:这道题复杂度太高,短时间内很难写出来。面试的时候不建议手撕代码。一个存节点的map+一个存桶的map+一个存桶的双向链表。桶本身也是一个双向链表。存节点的map:key是键,value是节点。存桶的map:key是次数,value是桶。代码用golang编写,代码如下:```gopackage mainimport ( "container/list" ... 福哥答案2021-01-23:这道题复杂度太高,短时间内很难写出来。面试的时候不建议手撕代码。一个存节点的map+一个存桶的map+一个存桶的双向链表。桶本身也是一个双向链表。存节点的map:key是键,value是节点。存桶的map:key是次数,value是桶。代码用golang编写,代码如下:```gopackage mainimport ( "container/list" ...
- 福哥答案2020-01-07:1.7 数组+链表重要字段://HashMap的主干数组,可以看到就是一个Entry数组,初始值为空数组{},主干数组的长度一定是2的次幂,至于为什么这么做,后面会有详细分析。transient Entry<K,V>[] table = (Entry<K,V>[]) EMPTY_TABLE;//实际存储的key-value键值对的个数transient int ... 福哥答案2020-01-07:1.7 数组+链表重要字段://HashMap的主干数组,可以看到就是一个Entry数组,初始值为空数组{},主干数组的长度一定是2的次幂,至于为什么这么做,后面会有详细分析。transient Entry<K,V>[] table = (Entry<K,V>[]) EMPTY_TABLE;//实际存储的key-value键值对的个数transient int ...
- 第三步骤:找出初始值。学过数学归纳法的都知道,虽然我们知道了数组元素之间的关系式,例如dp[n] = dp[n-1] + dp[n-2],我们可以通过 dp[n-1] 和 dp[n-2] 来计算 dp[n],但是,我们得知道初始值例如⼀直推下去的话,会由 dp[3] = dp[2] + dp[1]。而 dp[2] 和 dp[1] 是不能再分解的了所以我们必须要能够直接获得 dp[2] 和 d... 第三步骤:找出初始值。学过数学归纳法的都知道,虽然我们知道了数组元素之间的关系式,例如dp[n] = dp[n-1] + dp[n-2],我们可以通过 dp[n-1] 和 dp[n-2] 来计算 dp[n],但是,我们得知道初始值例如⼀直推下去的话,会由 dp[3] = dp[2] + dp[1]。而 dp[2] 和 dp[1] 是不能再分解的了所以我们必须要能够直接获得 dp[2] 和 d...
- 动态规划,无非就是利用历史记录,来避免我们的重复计算。而这些历史记录,我们得需要一些变量来保存,一般是用⼀维数组或者⼆维数组来保存。第⼀步骤:定义数组元素的含义,上面说了了,我们会⽤用一个数组,来保存历史数组,假设用一维数组dp[] 吧。这个时候有非常重要的点,就是规定你这个数组元素的含义,例例如你的 dp[i] 是代表什么意思 动态规划,无非就是利用历史记录,来避免我们的重复计算。而这些历史记录,我们得需要一些变量来保存,一般是用⼀维数组或者⼆维数组来保存。第⼀步骤:定义数组元素的含义,上面说了了,我们会⽤用一个数组,来保存历史数组,假设用一维数组dp[] 吧。这个时候有非常重要的点,就是规定你这个数组元素的含义,例例如你的 dp[i] 是代表什么意思
- 考虑有没有重复计算// 我们实现假定 arr 数组已经初始化好的了了。int f(int n){if(n <= 2){return n;}//先判断有没计算过if(arr[n] != -1){//计算过,直接返回return arr[n];}else{// 没有计算过,递归计算,并且把结果保存到 arr数组⾥里里arr[n] = f(n-1) + f(n-1);reutrn arr[n];}... 考虑有没有重复计算// 我们实现假定 arr 数组已经初始化好的了了。int f(int n){if(n <= 2){return n;}//先判断有没计算过if(arr[n] != -1){//计算过,直接返回return arr[n];}else{// 没有计算过,递归计算,并且把结果保存到 arr数组⾥里里arr[n] = f(n-1) + f(n-1);reutrn arr[n];}...
- 福哥答案2020-11-15:此题来源于leetcode240和剑指 Offer(第 2 版)面试题4。1.线性查找。从二维数组的坐下角开始查找。如果当前元素等于目标值,则返回 true。如果当前元素大于目标值,则上移。如果当前元素小于目标值,则右移。2.线性查找+二分查找。当前元素上移和右移,采用二分法。要用到如下两道题:2.1.在一个有序数组中,找<=某个数最右侧的位置。2.2.在一个有... 福哥答案2020-11-15:此题来源于leetcode240和剑指 Offer(第 2 版)面试题4。1.线性查找。从二维数组的坐下角开始查找。如果当前元素等于目标值,则返回 true。如果当前元素大于目标值,则上移。如果当前元素小于目标值,则右移。2.线性查找+二分查找。当前元素上移和右移,采用二分法。要用到如下两道题:2.1.在一个有序数组中,找<=某个数最右侧的位置。2.2.在一个有...
- 福哥答案2020-11-13:二分法。有时候数组无序,同样可以采用二分法。这道题考察的是全局观,左边下降趋势,右边上升趋势,函数图像呈凹形,必有极小值。中左值和中值呈上升趋势,中值右边可以直接舍弃;中值和中右值呈下降趋势,中值左边可以直接舍弃。golang代码如下:package class01import ( "fmt" "testing")//局部最小值问题/*求其中一个极小... 福哥答案2020-11-13:二分法。有时候数组无序,同样可以采用二分法。这道题考察的是全局观,左边下降趋势,右边上升趋势,函数图像呈凹形,必有极小值。中左值和中值呈上升趋势,中值右边可以直接舍弃;中值和中右值呈下降趋势,中值左边可以直接舍弃。golang代码如下:package class01import ( "fmt" "testing")//局部最小值问题/*求其中一个极小...
- 福哥答案2020-11-04:福哥口诀法:收马李色坤(Collection、Map、List、Set、Queue)。李矢数链写(List:Vector矢量、ArrayList数组、LinkedList链表、CopyOnWriteList写时复制容器)。哈排枚写并(Set:HashSet哈希集、SortedSet有序集、EnumSet枚举集、CopyOnWriteArraySet写时复制数组集... 福哥答案2020-11-04:福哥口诀法:收马李色坤(Collection、Map、List、Set、Queue)。李矢数链写(List:Vector矢量、ArrayList数组、LinkedList链表、CopyOnWriteList写时复制容器)。哈排枚写并(Set:HashSet哈希集、SortedSet有序集、EnumSet枚举集、CopyOnWriteArraySet写时复制数组集...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中 -
华为云开发者AI素养直播课·第四期2026/08/28 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;吴松明-华为云AI开发者案例开发专家
EduSwarm 是一个基于多智能体框架构建的 AI 教师团队协作平台:把备课、上课、作业、批改、学情等教学环节,交给多位专职 AI Agent(课件师、出题官、批改师、学情分析师等)协作完成。教师从「亲力亲为」变成「做决策」,学生只需凭课堂码加入即可实时跟课。
回顾中
热门标签