曾格的github

随笔分类 -  算法和数据结构

大厂挺看重思维逻辑能力的
摘要:一,一个记录当前子数组和,一个记录最大子数组和 1 class Solution { 2 public: 3 int FindGreatestSumOfSubArray(vector<int> array) { 6 int cur = array[0]; 7 int maxv=array[0]; 8 阅读全文
posted @ 2022-01-03 19:52 曾格 阅读(21) 评论(0) 推荐(0) 编辑
摘要:时间复杂度O(n),空间复杂度O(1) 思路:把数字v放到索引为v的位置上去。但如果位置v上的数字本身就是v时,说明数字v重复了。 1 class Solution { 2 public: 3 /** 4 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 5 * 6 * 阅读全文
posted @ 2022-01-03 18:30 曾格 阅读(54) 评论(0) 推荐(0) 编辑
摘要:并查集:一种树型的数据结构,用于处理不交集的合并及查询问题。 先直接给出代码: 1 // 初始化F[i]=i;即每个节点的父节点都是自己 2 3 // 查找一个数据属于哪一个集合,也就是返回这个集合的根节点 4 int find(int x){ 5 // 查找根节点,根节点就代表着一个集合 6 in 阅读全文
posted @ 2021-11-04 15:35 曾格 阅读(50) 评论(0) 推荐(0) 编辑
摘要:牛客链接:https://www.nowcoder.com/question/next?pid=16516564&qid=362290&tid=49706822 就是一个数学推导的问题,很简单 1 // 感觉就是个数学推理的样子 2 // E(k)=1/2[E(k+1)+H(k+1)] 3 // 然 阅读全文
posted @ 2021-11-02 22:02 曾格 阅读(51) 评论(0) 推荐(0) 编辑
摘要:牛客链接:https://www.nowcoder.com/question/next?pid=16516564&qid=362290&tid=49703321 直接上代码,记录下我的做题经过 1 // 应该至少需要3个while循环 2 // 第一个循环:固定第一个特工位置,另外两个特工往右找 3 阅读全文
posted @ 2021-11-02 20:34 曾格 阅读(148) 评论(0) 推荐(0) 编辑
摘要:牛客链接:https://www.nowcoder.com/question/next?pid=16516564&qid=362292&tid=49703321 我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的 阅读全文
posted @ 2021-11-02 20:32 曾格 阅读(118) 评论(0) 推荐(0) 编辑
摘要:分而治之的思想: 分:二分 治:将相邻的两个有序数组进行合并;可以采用临时数组配合双指针进行排序也可以快排。 1 void merge(vector<int>& init, int start, int mid, int end) { 2 // 两个有序数组的合并,一个数组一个指针 3 vector 阅读全文
posted @ 2021-09-25 23:06 曾格 阅读(26) 评论(0) 推荐(0) 编辑
摘要:注意点: i是从start开始的; ++i和--j都放else里面; 记得先递归出口; 1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 5 // 快排 6 void sort(vector<int>& res, int 阅读全文
posted @ 2021-09-25 22:27 曾格 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1 class Solution { 2 public: 3 4 // 采用层次遍历比较麻烦,BFS+递归 6 TreeNode* Mirror(TreeNode* pRoot) { 7 if(pRoot==nullptr){ 8 return nullptr; 9 } 10 TreeNode* t 阅读全文
posted @ 2021-09-23 23:34 曾格 阅读(14) 评论(0) 推荐(0) 编辑
摘要:首先是一个简单的字符串反转算法:reserve(char* str,int start,int end); 然后是字符串左移:牛客:JZ43 左旋转字符串,在O(1)的空间复杂度下完成。 第一次面试写算法,还是太年轻了,没注意到第二题要利用第一题。。。 1 class Solution { 2 pu 阅读全文
posted @ 2021-09-18 19:45 曾格 阅读(32) 评论(0) 推荐(0) 编辑
摘要:快手一面的第三个算法题: 方法一:通过一个辅助栈实现在O(1)的时间内返回栈的最小值,但空间复杂度为O(n) 方法二:如何在O(1)的空间复杂度下找出最小值min:栈内不存储val,而是存储val-min 1 class MinStack { 2 public: 3 /** initialize y 阅读全文
posted @ 2021-09-18 18:13 曾格 阅读(54) 评论(0) 推荐(0) 编辑

Live2D
欢迎阅读『算法和数据结构』
点击右上角即可分享
微信分享提示