- 博客(15)
- 收藏
- 关注
原创 C语言 bfs\dfs模板
bfs建立数组队列以保存节点left指向第一个元素(及前面的元素已经被pop),right指向最后一个元素的右边(及right为下一个入队列的位置)将根放入数组,left = 0, right = 1while (left < right){ 取left指向的结点,并pop当前节点 (left++) 将该结点的左右结点加入数组队列}void *mybfs(struct Node *root) { if (!root) { return NULL; }
2021-09-21 16:36:05
1013
原创 leetcode 15. 3Sum (C)
/**Return an array of arrays of size *returnSize.The sizes of the arrays are returned as *returnColumnSizes array.Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/int compare(const void value1, const vo
2021-04-12 20:23:03
262
原创 C/C++ int/long/long long/INT_MIN/INT_MAX
printf在printf中%d用于int或者比int小的整数类型。比int小的类型被转型成int。%ld用于long类型,%lld用于long long类型。%x标识的数会被当成int进行读取,所以long long类型的数如果超过int的范围会被截断,得不到正确的结果。而且因为它多占了4个字节,还会影响后面的其它标识符的输出。另外%f标识的数会被当成double读取,即取出8个字节读取。INT_MAX / INT_MIN由于二进制编码按原码、补码和反码的规则进行运算,所有程序中对INT_M.
2021-04-12 16:33:52
822
原创 C语言 数据结构/函数 模板
重新开始学C了,C++都还没学明白呢。用惯了C++/Python 回到C很有点不习惯,很多数据结构、函数需要自己造,以下就是以下构造的模板。建立哈希/字典利用函数输入值为key,输出值为value例如: leetcode 13.int getInt(char c){ switch(c){ case 'I':return 1; case 'V':return 5; case 'X':return 10; case 'L':re
2021-04-02 17:28:19
670
原创 排列问题 (C++)
思路: https://www.cnblogs.com/jingjingblog/p/9117779.html.链接: https://blog.csdn.net/zml66666/article/details/102675451?ops_request_misc=&request_id=&biz_id=102&utm_term=46.%20Permutations%20c++&utm_medium=distribute.pc_search_result.none-tas
2021-03-24 18:41:50
156
原创 C++的unordered_map
成员函数迭代器begin 返回指向容器起始位置的迭代器(iterator)end 返回指向容器末尾位置的迭代器cbegin 返回指向容器起始位置的常迭代器(const_iterator)cend 返回指向容器末尾位置的常迭代器元素的键值分别是迭代器的first和second属性。使用(*it).first或者it->first获取。容量size 返回有效元素个数max_size 返回 unordered_map 支持的最大元素个数empty 判断是否为空
2021-02-24 22:50:33
833
原创 简单却总是需要debug的二分(C/C++)
二分搜索不难,但总是会有些“等号”“+1”“-1”的问题想的人抓耳挠腮但是不要怕!二分真的不难!写代码之前一定要打草稿!先写好伪码(一定不能怕麻烦边写代码边想)!然后再考虑全测试用例!考虑:空只有一个元素二分时奇数偶数两种情况target在左/右边界,target不存在想练手?来23. Search in Rotated Sorted Array链接: https://leetcode.com/problems/search-in-rotated-sorted-array/.·先
2021-02-18 14:29:55
149
2
原创 难搞的recursion(dfs模板)(C++)
题外话:回溯其实不难,不要自己吓自己!报错出错的真相只有一个!凶手就是混乱的逻辑!回溯问题需要想清楚:子问题是什么:对于这个子问题,你有什么(传递内容)结束条件是什么:如何跳出回溯回溯条件是什么:进入下一个自问题的判断条件是什么例如:22. Generate Parentheses https://leetcode.com/problems/generate-parentheses/.最最最简单的回溯,可以当作模板记。子问题:给定一串字符串(path),例如现在"(("里包含两个左括号,
2021-02-06 18:53:02
230
原创 C++ bug大赏
出现报错:runtime error: addition of unsigned offset to 0x602000000e70 overflowed to 0x602000000e6c (stl_vector.h)和ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000f60 at pc 0x0000003460fa bp 0x7ffe8f4e2810 sp 0x7ffe8f4e2808原因是vector的i...
2021-02-01 00:20:39
309
原创 有趣的greedy (C++)
贪心算法刚刚还在知乎上搜“讨厌自己爱占小便宜怎么办”…这就遇到一个greedy的题,咋肥四我这“优良品质”咋不能用在题目上呢,哭泣。题目:11. Container With Most Water链接: https://leetcode.com/problems/container-with-most-water/.找最大的container用两重循环肯定是超时的,用贪心!用两个指针分别指着头尾,然后选短的那个往中间移,同时保存最大的container。为啥想不到呢,为啥呢为啥呢??..
2021-01-25 17:33:57
197
2
原创 菜得抠脚的笔记 (C++)
INT_MIN=-2147483648INT_MAX=2147483647char–>int/long (注意范围):char c='a';int i=c-'0';string s=“1a 2b”;isdigit(s[0])=trueisspace(s[2])=true
2021-01-25 17:27:06
88
原创 C++数组基础
#include <iostream>#include <vector>#include <stack>#include<unordered_map>using namespace std;void print_vector(int* a,int size){ for (int i=0;i<size;++i){ //必须知道大小,a在这是个指针 cout<<*(a+i)<<" ";
2021-01-21 16:59:54
297
原创 leetcode 3. Longest Substring Without Repeating Characters (C/C++)
3. Longest Substring Without Repeating Characters题目: https://leetcode.com/problems/longest-substring-without-repeating-characters/.对定字符串,如何找连续无重复字符的字串?动态回归:Let s[i] denotes the i th char in the string.Let s.substr(k, i) denotes the longest substring w
2021-01-20 23:46:03
249
2
原创 链表-本地调试-模版 (2. Add Two Numbers) (C++)
Leetcode 2. Add Two Numbers链接: https://leetcode.com/problems/add-two-numbers/.#include <iostream>#include <vector>#include <map>#include <stack>// #include "listnode.hpp"using namespace std;struct ListNode { int val;
2021-01-17 17:05:58
166
原创 C++ 链表基础
C++链表建立与打印下面展示一些 内联代码片。// A code blockvar foo = 'bar';#include <iostream>#include <vector>#include <map>#include <stack>using namespace std;struct ListNode { int val; ListNode *next; ListNode() : val(0), next(
2021-01-12 16:23:36
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人