- 博客(5)
- 收藏
- 关注
原创 算法竞赛c++.新人每日一练.贪心算法(两数之和1.进阶哈希表法)
比如2,7,5,9,第一个遍历2,map中无任何元素,所以将2和下标存入,第二个遍历到7,target-7=2,在map中找2,找到了返回2的下标和7的下标即可。//auto 可以自动对应容器类型,map中的find()函数可以查找key值,找到返回对应key的迭代器,找不到返回map的尾部迭代器map.end()前几天用双重for循环解决了该题,但是算法时间复杂度来到了n方,所以今天用一种更有效的方式-------哈希表来解决,缩短程序时间。
2026-03-31 23:21:35
342
原创 算法竞赛c++.新人每日一练.贪心算法(种花问题605)
最优的想法是插中间,通过下标i访问数组的i-1和i+1是为都为0,判断能否插入。考虑完普通情况,还得考虑特殊情况,那就是首尾位置为0,该首尾位置分别是没有前后,只需考虑旁边是否为0即可;一些心里话,解算法题真的是一个很难的事情,得不到答案可能是各种各样的原因导致的,我一开始想的过于复杂想借助vector容器的迭代器来遍历数组,但是忽略了这个迭代器不能回头的事实导致编译错误。// 左边:i==0 说明是第一个位置,左边无花;//逻辑与||是只要两边有一边为真即为真,左边是特殊情况首尾位置。
2026-03-27 23:00:50
530
原创 算法竞赛c++.新人每日一练.贪心算法(两数之和1)
简单的方法就是利用双层for循环挨个遍历。能看到耗时非常久,时间复杂度是n的平方。该题咋一看非常简单,实则暗藏玄机。
2026-03-23 23:26:37
18
原创 算法竞赛c++.新人每日一练.贪心算法(分发饼干455)
通过仔细读题能察觉到该题考察的是贪心算法,只需要考虑如何计算能满足的最大孩子胃口数目即可,又已知一个小孩只能给予一块饼干。可以思索得分别对孩子胃口和饼干满足值进行从小到大排序,优先拿小饼干去满足小胃口的孩子,所以需要设立左右指针来对应两个数组,左指针指向孩子,右指针指向饼干,能满足则左右指针加一后移,不能右指针后移寻找更大的饼干查看是否能满足孩子。
2026-03-19 22:58:46
22
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2