- 博客(21)
- 收藏
- 关注
原创 leetcode 41.缺失的第一个正数,难度:困难
题目描述:题解:package leetcode;/** * 首先排除排序 * 第一种思路:采用交换的形式,如 3 0 1 2,那么3交换到下标 3 ,O(n)完成,但数组中最大数不确定,申请空间 为 n,是常数级别吗? * 最好的算法就是常数阶的.无论问题规模多大执行时间不变. 显然不行 * 第二种思路:其实,首先想到的是排序,但O(n)的排序,没想到。 * 第三种思路:采用与或运算可以吗? * 第四种思路:突然想到,如果有五个数,如果其中有缺失,一定是 1 2 3 4 5
2021-07-17 15:17:48 115
原创 LeetCode 295 做题记录
题目:295. 数据流的中位数链接:https://leetcode-cn.com/problems/find-median-from-data-stream/题目描述:看到这个题目第一反应,排序就行了嘛!下面直接用排序写:public class MedianFinder { int[] arr; int length; public Median...
2020-04-04 17:12:24 227
原创 失败的算法题,使用的方法错误!!!
LeetCode周赛182场,第四题:https://leetcode-cn.com/problems/find-all-good-strings/该题8分,罕见!通过的大佬们都是使用 dp数组+KMP 求解,这种解法太牛逼!自己有个执念,就是想使用分类讨论、排列组合的方式求解,最终也没讨论出个所以然来,当代码刚开始写我就知道写出来这种方法很难了,各种条件太多了,竟然连交集都没考...
2020-03-29 18:48:24 256
原创 3-29,第182场LeetCode周赛,前三道
第一题:https://leetcode-cn.com/problems/find-lucky-integer-in-an-array/AC代码,时间问题就随便搞了个方法:class Solution { public static int findLucky(int[] arr) { Map<Integer, Integer> map = new...
2020-03-29 12:27:38 133
原创 3-27 没事随便写点代码,CountDownLatch
多线程1~n叠加,强行使用CountDownLatch实现写的过程中才意识到自己代码写的多乱代码如下:CountDown.java 需要处理的资源类package juc;import java.util.concurrent.CountDownLatch;import java.util.concurrent.atomic.AtomicInteger;pub...
2020-03-27 23:37:59 115
原创 多久了?重新开始写博客
为什么开始写博客了呢? 算起来毕业工作有半年多了,这半年来成长有多少呢?这里就不多说了,每天工作工作,在公司已有的框架内拧螺丝钉,个人感觉成长缓慢。 近来,总是有种恐惧感,而只有学习才能让我消除一点儿恐惧。 其实,我很不想努力,不知道每天工作到很晚给我带来了什么,我恨不得下班就走,但是我在没有想清楚这样强度的工作的意义之前,还是要靠着惯性走这样下去。 突然想起不...
2020-03-27 20:32:11 158 1
原创 程序员的悲伤!!!
让两个数相互交换最简单的方法是让他们交融,先做到你中有我我中有你,接下来我失去我,你失去你,那么他们自然就交换了m=m+n;n=m-n;m=m-n;a=a^b;b=a^b;a=a^b;这无需第三者介入两个人只要你想着我,我想着你就行,就不要分离但我TM单身...
2018-06-09 17:52:20 324
转载 JSTL动态生成HTML表格
转自此最近在做一个小组项目,对于使用js与JSTL生成HTML代码做了小思考,看到了这篇博客,转一波!!项目中遇到一个动态生成表格的问题,由于表格的行和列都不是固定的,而是从数据库中取得的,因此需要动态的创建表格。 由于规范中要求使用JSTL标签库,避免JSP页面冗余java代码,而我的数据库暂时又连不上(电脑有点问题),只能是自己给自己提供数据进行测试了。下面我做了一个小例子,测试了一...
2018-06-09 02:49:12 1034
原创 js与JSTL动态生成HTML代码区别
最近写的js生成HTML代码,js功底太差,觉得交给客户端解析生成不好!代码如下:<script type="text/javascript"> $(document).ready(function(){ //左半 $("#GroupGrid").append("<div class='leftB'></div>"); ..
2018-06-09 02:44:26 900
原创 写时拷贝(stl string类与自实现小例子。。。
何为写时拷贝: 写时才拷贝(Copy-On-Write)技术,就是编程界“懒惰行为”——拖延战术的产物。类似的的“懒惰行为”有:数据库的懒惰删除和redis中的SDS结构等。 如果对拷贝的数据时只读,则为浅拷贝,当要对数据进行写时,才真正的拷贝原数据的副本,即深拷贝。下面是一个STL string类写时拷贝的实例:#include <iostream>#include <s...
2018-05-15 23:52:51 162
原创 对象copy时的根本不存在写时复制(自己的疏忽大意。。。
昨天在实验深浅拷贝时发现了一个现象,由于代码写的有问题导致了自己得出了一个错误的结论(认为对象拷贝时也存在写时拷贝),得出结论之后为了验证自己猜想的正确性,有经过查资料发现并没有人提出这个问题,以为自己发现了一个重大的秘密,也就想着把发现记录下来装装B,但是在写博客的过程中,我竟然发现此结论是自己的代码错误所导致,有种瞬间打脸的感觉,但也有所学习,对代码是用来写的有了更深刻的认识。。。。。。。(经...
2018-05-15 14:14:29 186
原创 C++虚继承内存探索(编译背着我们做了什么???
当继承关系中不存在虚继承时:class B{ public: int i;};class D:public B{};此时两个类的sizeof()执行结果: cout<<sizeof(B)<<endl; cout<<sizeof(D)<<endl;当继承关系中存在虚继承时:class A{ publi...
2018-05-07 14:51:12 124
原创 博客没人看有尴。。。
最近写了几篇博客了刚开始写时总是希望自己写的内容能被别人看到,但几天下来也没有增长多少访问量(可能自己点开的被记录了|尬. . . ,又仔细想想自己写博客的目的。起初,目的很简单,就是多积累点访问量,为秋招加分,但经过几天的尝试,发现自己是真的想太多了,真提莫的没人看啊。。。。。。但是,通过写博客也收获了不少。首先为了博客的正确性,为了解释的更合理,不得不对问题刨根问底,可以get到平时没有注意的...
2018-05-06 16:56:13 1126 4
原创 getline函数(C++ string版本的独立的函数
先看一段C++中读取文件的程序(Linux下,如下:#include<iostream>#include<fstream>#include<string>#include<cstdlib>using namespace std;int main(){ ifstream fin; fin.open("./tom.txt"); if(fi...
2018-05-06 14:07:24 695
原创 从cJson源码中学习技巧!!!
最近读了cJson的源代码,注意到了几个的函数,可以在以后的代码中使用,在这里做个记录 包括:文件读取、数字字符串处理等cJson中读取文件的方法:void dofile(char *filename){ FILE *f;long len;char *data; f=fopen(filename,"rb");fseek(f,0,SEEK_END);len=ftell(f);...
2018-05-05 20:33:38 153
原创 C学习笔记
1、C语言有隐式函数声明(对于没有声明的函数,自动使用隐式函数声明),C++没有。2、\r 与 \n 的区别 \n的ASCII为10,\r为13 \r(回车 carriage return) \n(换行 line feed) Unix系统中,每行结尾只有“换行”(\n);Windows中,每行结尾是“回车换行”(\r\n);Mac中“回车”(\r) W...
2018-05-05 15:53:27 135
原创 Tinyhttpd源码分析!简单的HTTP请求处理服务器!!!
Tinyhttpd源码分析!Github地址:HERE最近两天看了小项目,在博客中记录下学习笔记!!!tinyhttpd是一个简易的HTTP服务器,可以处理POST/GET请求,使用CGI技术实现简单的网页表单提交。代码可以在Linux上运行,涉及POSIX 线程\进程\管道\字符串处理等知识点。是学习Linux网络编程的基础项目。代码经过简单修改可以直接在Linux系统上make,需要注意的点:...
2018-05-04 17:37:22 952
原创 \r 与 \n 的区别
首先:换行的表示方式有四种,分别是 CRLF (\r\n),LFCR (\n\r),CR (\r) 和 LF (\n)小历史: 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 ...
2018-05-02 19:04:06 164
原创 C++学习笔记
1、const关键字 顶层const(指针const) 底层const(const int *p)2、C++对象创建、初始化与销毁的 a、 对象创建的两种方式 在Stack或Data区上直接创建 在Heap上手动创建 b、 三种对象初始化方式 通过构造函数初始化 通过拷贝构造函数初始化 ...
2018-05-02 17:36:48 116
原创 Linux个人查找记录
1、lsof 列出当前系统打开文件的工具;2、/dev/null文件,这是一个很特殊的文件,你写入的任何东西都会清空 a、我们可以把标准错误输出重定向到/dev/null,从而丢掉不想保存的错误信息 b、我们可以快速移除现有文件的数据而不用先删除文件在创建 cat /dev/null >> test3、> 重定向,覆盖 >> 追加重定向,...
2018-03-30 21:36:27 151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人