随笔分类 -  C/C++

摘要:1588. 所有奇数长度子数组的和 - 力扣(LeetCode) (leetcode-cn.com) 1.算法 暴力解法 复杂度 O(n^3) 前缀和优化 复杂度O (n^2); 数学方法 复杂度O(n); 数学方法公式推导: 对于下标为 i 的 项, 包含i 项的子数组有以下情况: 1. 前边偶数 阅读全文
posted @ 2021-08-30 11:02 失败者_ant 阅读(43) 评论(0) 推荐(0) 编辑
摘要:在做leetcode时总是用到各种容器,总是忘记个别的细节,这里试着以需要的功能为点,总结一下各种容器。 vector 可增长的数组 初始化: 1. 空的容器 vector<int> vec; 2. 10个值初始化的元素 vector<int> vec (10);// int 类型会被初始化为 0; 阅读全文
posted @ 2021-05-10 14:57 失败者_ant 阅读(76) 评论(0) 推荐(0) 编辑
摘要:二叉树定义 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NU 阅读全文
posted @ 2020-12-23 18:16 失败者_ant 阅读(96) 评论(0) 推荐(0) 编辑
摘要:二分查找有很多细节,细节中藏着魔鬼 框架是while 加 if 细节在于退出while循环的条件, 空区间,值不存在特殊情况会返回什么。 1.建议对于所有区间使用左闭右开的习惯,即[ left , right ),结束时left一定与right重合 2.取中点时小心值溢出。 学习自知乎 https: 阅读全文
posted @ 2020-12-02 19:58 失败者_ant 阅读(111) 评论(0) 推荐(0) 编辑
摘要:二分查找结构为while三个if,有很多细节的部分。 只有掌握了细节,才能熟练分清各种变种,如左右边界逼近。 细节点在于while的循环条件,mid设置是否+-1 一、简单二分查找 left = mid+1; right= mid -1; int binarySearch(int[] nums, i 阅读全文
posted @ 2020-12-02 09:51 失败者_ant 阅读(123) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示