- 博客(16)
- 收藏
- 关注
原创 剑指 Offer 04. 二维数组中的查找
题目内容在一个 n * m的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路与收获一开始只知道暴力呀,看了题解才恍然大悟。和折半查找的原理一样,基于数组中的一个元素,固定的有一部分元素比他小,有一部分比他大,逐渐缩小范围。比暴力法每次可以排除更多的元素。代码 public boolean findNumberIn2DArray(int[][] matrix, in
2021-03-17 17:43:06 102
原创 剑指offer57-和为s的连续正数序列(Java)
剑指offer57-和为s的连续正数序列(Java)题目内容输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lcof思路与收获题目并不复杂,但是双指针的思路确实很巧妙,写出来的代码也比较简洁。此外还学习了Java二
2021-03-17 14:57:22 110
原创 常用VIM指令
ZZ : 保存并退出q!:放弃所有修改并退出gg:跳转到第一行G:跳转到最后一行nG:跳转到第n行H,M,L:跳转到当前页面的第一行,中间行和最后一行/String:查找String位置N:向上重复查找n:向下重复查找...
2019-11-28 23:14:14 102
原创 复杂链表的复制
复杂链表的复制收获很多的一道题,最初看到这道题我能想到的最好的算法就是用哈希表存下每一个特殊指针。书上给的算法真是巧妙,理解了之后实现起来也很简单。题目链接:https://www.nowcoder.com/questionTerminal/f836b2c43afc4b35ad6adc41ec941dba来源:牛客网输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点...
2019-09-18 12:52:47 115
原创 树的子结构
树的子结构我感觉我对C++的指针和数据结构掌握的还可以了,后面加速看算法和面向对象的语法题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&tqId=11170&tPage=1...
2019-09-14 04:32:31 128
原创 合并两个排序的链表
合并两个排序的链表种树任务:挑着做几道题题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&tPage=1&rp=1&ru=/ta/co...
2019-09-14 04:18:05 125
原创 表示数值的字符串
表示数值的字符串这道题的难点在于什么呢,在与你根本不知道哪种形式是正确的,我感觉测试样例里也没全部枚举出来。但是画状态图太有意思了,这次代码写得非常欢乐,毕竟不用动脑子。????题目详细链接:https://www.nowcoder.com/questionTerminal/6f8c901d091949a5837e24bb82a731f2来源:牛客网请实现一个函数用来判断字符串是否表示数值(...
2019-09-13 01:14:46 178
原创 正则表达式匹配
正则表达式匹配这道题写的我吐血,为了考虑不同情况修改了无数遍,也提交错误了两次。得到的深刻教训是,考虑好问题再动手写代码,要不就只能过样例。题目详细链接:https://www.nowcoder.com/questionTerminal/45327ae22b7b413ea21df13ee7d6429c来源:牛客网请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表...
2019-09-12 23:52:48 97
原创 回溯法:机器人的活动范围
回溯法:机器人的活动范围回溯法与深度优先搜索以及枚举法是经典的暴力三大法(我1min前发明的,虽然本质上是一个东西),所谓 ”遇事不决暴力解,能A几个算几个“更是做题界的至理名言(我30s秒前发明的)。回溯是隐式图的深搜,深搜是图论上的枚举,所以使用回溯法的时候,能剪枝的地方一个不要漏,否则你就成无脑暴力男了。回溯法介绍我都查不到几篇讲回溯法的,大概大家都以暴力为耻吧(⊙﹏⊙)……http...
2019-09-12 19:03:01 202
原创 归并排序
归并排序今天种树的任务-归并排序。。改一个小bug改了一个多小时。????算法介绍https://www.cnblogs.com/chengxiao/p/6194356.html嗯嗯,有图原理非常好理解:分治递归+合并有序数组。我看完算法介绍的第一行就知道这是个什么东西了。归并排序的优点:稳定,不会破坏原来的顺序。效率高,O(nlogn)。并且最好最坏平均都是O(nlogn)。查阅...
2019-09-12 14:45:56 246
原创 快速排序与查找第K大的数
快速排序与查找第K大的数今天种树的任务是复习一下快排,顺便实现了一下查找第K大的数的算法。快速排序非常常见也非常经典的算法,随便给你们找一篇。https://www.cnblogs.com/ayqy/p/3862938.html快速排序C++实现我觉得我写的又短又好理解又好记忆(自恋ing~)#include <iostream>#include <stack&g...
2019-09-12 11:40:29 3776
原创 二叉树的遍历
二叉树的遍历今天种树的主要任务是二叉树的遍历,知识点很简单,就是根据前序中序推后序的那个实现起来,细节有点绕。。二叉树的遍历方式随便找了一篇,规则很简单https://blog.csdn.net/soundwave_/article/details/53120766C++实现题目要求是,根据前序和中序的结果推导树的结构,因为没输出不太好判断对错,所以我又把树后序遍历打印出来了。第一次是...
2019-09-11 13:23:20 97
原创 C++链表
C++链表今天的种树是练习一下C++的数据结构的使用。链表没啥好介绍的直接上代码。c++实现主要内容写了三个函数:1.利用堆栈倒序打印链表 2.把一个节点添加到链表末尾 3.删除第一个值为value的节点#include <iostream>#include <stack>using namespace std;struct List{ int va...
2019-09-10 22:32:16 109
原创 堆排序
堆排序堆排序的介绍今天的种树是尝试了一下C++写一个堆排序。首先了解一下堆排序算法。https://www.cnblogs.com/chengxiao/p/6129630.html这篇文章介绍的非常详细,关键是有图。然后是比较堆排序和快排。也就是我们为什么要学习堆排序。https://www.cnblogs.com/xiaochun126/p/5086037.html这个表格表达的清...
2019-09-10 02:01:13 282
原创 变量名中常用的对仗词
begin/endfirst/lastlocked/unlockedmin/maxnext/previousold/newopened/closedvisible/invisiblesource/targetsource/destinationup/down
2018-08-31 15:41:27 583
原创 实习过程中用到的MYSQl命令
MYSQL 命令连接MySql报错“can’t connect to local mysql server through socket ‘/var/run/mysqld/mysqld.sock’”使用以下命令cd /etc/init.dsudo service mysql stopsudo service mysql start 连接数据库mysql -u root ...
2018-08-17 17:19:05 146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人