- 博客(87)
- 资源 (3)
- 收藏
- 关注
原创 函数式编程(FP风格)——基于C++11的快速排序的顺序实现与并行实现
函数式编程:是一种编程风格,函数调用的结果仅单纯依赖于该函数的参数而不依赖于任何外部状态。意味着如果用同一个参数执行一个函数两次,结果是完全一样的。函数的影响完全局限在返回值上。当涉及并发时,许多涉及共享内存相关的问题便不复存在。如果没有修改共享数据,那么就不会有竞争条件,因此也就没有必要使用互斥元来保护共享数据。future是使得C++ FP风格的并发切实可行,一个future可以再线程间来...
2020-03-24 11:54:41 580
原创 进程间通信-共享内存以及使用案例
服务器与客户端通过共享内存进行通信1.common.h#ifndef __COMMON_H#define __COMMON_H#define TEXT_LEN 2048// 共享内存的数据结构struct SharedMemEntry{ bool can_read; // 是否可以读取共享内存,用于进程同步 char message[TEXT_LEN];};...
2020-03-05 13:06:12 512
原创 客服端-服务器(B/S)模式的简单通信
任务描述:服务器端将客户端请求的字符串进行小写->大写转换,并响应给客户端。服务端:(为了突出逻辑表示,未做函数返回值处理) 1 #include <iostream> 2 #include <arpa/inet.h> 3 #include <ctype.h> 4 #include <unistd.h> 5 #includ...
2019-11-25 13:19:39 532
原创 2018网易内推笔试编程题(二)
上一章限于篇幅,特来续篇,哈哈 7. 疯狂队列小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列。有一次,n个学生在列队的时候,小易老师正好去卫生间了。学生们终于有机会反击了,于是学生们决定来一次疯狂的队列,他们定义一个队列的疯狂值为每对相邻排列学生身高差的绝对值总和。由于按照身高顺序排列的队列的疯狂值是最小的,他们当然决定按照疯狂值最大的顺序来进
2017-08-22 11:51:01 583
原创 2018网易内推笔试编程题(一)
萌新最近做了一下2018网易的内推编程题集合,要求3个小时解决八道编程题,本萌新两个小时做了6道题,剩下两道题直接放弃了,感觉难度不大,没有具体涉及到什么算法,除了动态规划。 下面对做题的思路以及过程做一个简单的记录: 1.彩色的砖块:一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖
2017-08-22 09:29:21 1323
原创 Python+MongoDB 爬取百度词条
本文是根据慕课网的内容的学习与总结:http://www.imooc.com/learn/563程序采用的开发环境如下: MongoDB版本:mongodb-3.4.1 Python版本:2.7 集成IDE:Pycharm 思维导图:ImindMap 9 先看一下数据库中的已经爬取(132条)的内容(词条链接,简介,标题): 1、设计思路: 爬虫的一般步骤:确定要爬取的内容,分析网页结
2017-08-14 10:59:05 586
原创 Python数据结构
1、在列表、字典、集合中根据条件筛选数据 解决方案: (1)、列表:filter函数 filter(lambda x:x>0,data) 列表解析 [x for x in data if x >= 0] (2)、字典:字典解析 {k:v for k,v in d.iteritems() if v >90} (3)、集合:集合解析 {x for x
2017-08-07 09:02:26 354
原创 基于置换和代换方法的灰度图像的加密
这是本萌新的信息安全课程的大作业 : 下面是本作业的基本概念: 1、灰度图像: 灰度数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑白两种颜色,灰度图像在黑色与白色之间还有许多级的颜色深度。 2、信息熵: 某种特定信息的
2017-08-07 08:53:52 2200
原创 Hadoop1.2.1伪分布式部署遇到的一些问题
1 在进行配置前要先建立目录,一般在hadoop目录下,创建hdfs/data hdfs/name、tmp三个文件夹。 需要配置的文件有hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml 、masters、slavescore-site.xml<configuration> <property> <name>fs.
2017-06-30 09:52:23 324
原创 Json异常:HTTP Status 500 - There is a cycle in the hierarchy!
HTTP Status 500 - There is a cycle in the hierarchy!type Exception reportmessage There is a cycle in the hierarchy!description The server encountered an internal error that prevented it from fulfilling
2017-05-29 20:56:45 1019
原创 SSH2—分页实现
1.PageBean 首先封装分页的基本信息 /** * @author ZSQ 分页封装 */public class PageBean<T> { private int currPage; //当前页 private int pageSize; //页面大小 private int totalCount;//总记录数 private int totalPa
2017-05-11 18:31:32 404
原创 Day2—仙剑游侠传游戏Demo,主角配角
游戏界面截图实现代码:import javax.swing.JFrame;/** * 游戏窗口类 * @author ZSQ * */public class GameFrame { public static void main(String[] args) { // TODO Auto-generated method stub //1.1 创建窗口
2017-04-11 15:50:14 839
原创 SSH实现批量删除
实现效果: 以下是部分关键代码: Js实现多项选择<script type="text/javascript"> /*全选JS*/ function CheckAll(thisform){ for (var i=0;i<thisform.elements.length;i++){
2017-03-26 22:31:28 6662 1
原创 SSH+Ajax实现用户特定身份登录
功能:根据用户输入的用户名和密码,自动读取该账户的状态(锁定或开放),若是开放则允许登录,否则不允许登录Jsp:<s:form id="theform" action="user_login" method="post" namespace="/" theme="simple"> <p class="main">
2017-03-26 22:09:26 4200
原创 c3p0数据库连接池老是报错,怒换dpcp连接池
部分错误信息如下:Struts has detected an unhandled exception:Messages: A ResourcePool could not acquire a resource from its primary factory or source.Connections could not be acquired from the underlying
2017-03-19 19:42:51 1803
原创 SSH整合Demo——完成登录注册
文件目录结构:ApplicationContext.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/s
2017-03-14 10:51:34 687
原创 SSH整合之Hibernate4遇见Spring3——Http500org.springframework.orm.hibernate4.SessionHolder cannot be cast to
问题:今天尝试整对Struts2+Spring+Hibernate三大框架进行整合时,发现了下面这个错误HTTP Status 500 - org.springframework.orm.hibernate4.SessionHolder cannot be cast to org.springframework.orm.hibernate3.SessionHoldertype Exce
2017-03-11 17:06:48 2138
原创 使用JDOM读取XML信息
package JdomTest;/** * @author Administrator * @version 2017-1-14 * @description JDOM 对xml文件进行解析 */import java.util.List;import org.jdom2.Document;import org.jdom2.Element;import org.jdom2.input
2017-01-14 16:18:30 312
原创 模式开发—运用配置文件和反射机制重构客户端代码
问题引入:我们在开发软件时,往往因为需求,要频繁的修改源码,在不违背开发原则(单一职责、开放封闭……..)的情况下,往往需要增加功能抽象接口或具体的实现类,而客户端就要相应的修改。 为了让系统具有更好的灵活性和扩展性,使得在不修改任何客户端的代码的基础上,更换新的功能实现。 以工厂方法模式为例:/***@Descriptio0n 工厂方法模式*@Time 20170-01-01*/inter
2017-01-02 11:57:16 455
原创 单例模式-确保对象的唯一性
设计模式学习与总结之单例模式一、单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,该类称为单例类,它提供全局访问方法。该类属于创建型模式。 在使用计算机时我们会经常看到这样的情况,当打开任务管理器时,无论我们打开多少次,却总是出现一个窗口。这是什么情况呢? 首先任务管理器便是单例模式的一个具体应用。任务管理器是实时动态显示当前计算机运行的进程以及任务。假设用户可以打开多
2016-12-30 16:19:30 4186 1
原创 N后问题——回溯法求解
题目:在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 对于给定的N,求出有多少种合法的放置方法。算法分析与设计: 深度优先搜索DFS,遍历图中所有的节点,枚举所有方案。筛选出符合条件的方案。 先看一下约束条件:不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 约束条件转化:同一行,同一列
2016-12-25 21:59:26 1691
原创 抽象工厂
工厂方法模式: 每个具体工厂只有一个或者一组重载的工厂方法,只能生产一种产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。 抽象工厂模式: 一个工厂可以生产一系列产品(一族产品),极大减少了工厂类的数量产品等级结构:产品等级结构即产品的继承结构 产品族:产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品 系统所提供的工厂生产的具体产品并不是一个简单的对象,而是多
2016-11-29 22:21:28 343
原创 工厂方法模式
在工厂方法模式之前,有个简单工厂模式。实际上简单工厂是工厂方法的退化(特殊情况) 简单工厂模式存在以下缺点: 1、工厂类集中了所有产品的创建逻辑,职责过重,一旦不能正常工作,整个系统都要受到影响 2、增加系统中类的个数(引入了新的工厂类),增加了系统的复杂度和理解难度 3、系统扩展困难,一旦添加新产品不得不修改工厂逻辑,违背软件开发时遵循的开闭原则简单工厂模式与工厂模式的区别: 工厂方法模
2016-11-29 20:15:02 310
原创 简单工厂模式
简单工厂模式属于创建型模式 创建型模式 : 对类的具体实例化细节进行封装,能够将软件模块中对象的创建和使用分离开来,从而降低系统的耦合度,方便软件后期的扩展与修改。简单工厂模式的定义:定义一个工厂类,根据传入参数的不同来对不同的产品类进行实例化。被创建的产品类通常具有共同的父类。 使用了创建型的设计模式有以下:简单工厂模式 设计模块通常如下几部分: 1、抽象产品类(或者接口):通常为将具
2016-11-29 15:19:07 2162
原创 SQL Server 数据库对称加密
--@version 1.0 2016-11-17--@description: sql server 2008 aes128位对称密钥对数据列加密与解密--@symmetric:MySymmetric--@author:钉牙的大白兔use test;--创建密钥加密密钥MySymmetriccreate symmetric key MySymmetric with algorithm =
2016-11-24 19:53:39 1481
原创 实验二:外部中断与定时器/计数器中断实验
//若系统时钟频率为60MHZ,编写软件实现:按一下按键,产生一次外部中断0中断信号,启动T1计时,使P1.0输出周期为1ms的方波。1、汇编查询 ORG 0000H //汇编查询 LJMP MAINMAIN: MOV SP, #60H MOV TMOD, #20H //工作方式选择为 MOV TL1
2016-11-24 18:30:58 11161
原创 实验一:数据传送(四种方式实现)
设置单片机片内存储器存储区首地址为30H、片外存储器存储区首地址3000H,存取数据字节个数16个,将片内存储区内容设置为01H-10H共16个字节 ,读取片内首地址为30H单元内容,将该内容传送到片外数据存储器存储区中保存,将保存在片外数据区数据依次取出送P1。//方式1、汇编 ORG 0000HIADDR EQU 30HXADDR EQU 3000HCOUNT EQU 10H
2016-11-24 18:22:38 9475
原创 Java解析注解
/** * @version 1.0 2016-09-25 * @author Administrator * @demonstrate 通过反射获取类。函数或成员上的运行时注解信息,从而实现动态控制程序运行 * */package AnnotationTest;import java.lang.reflect.Field;import java.lang.reflect.Invoca
2016-09-25 23:07:04 404
原创 Java Socket网络编程
一、网络基础知识:1、两台计算机通信的必备条件:IP 地址,协议,端口2、常用的端口名称及其端口号,例如 : http : 80 、 ftp : 21 、telnet : 23 端口号范围0-65535;端口号0-1023一般为系统保留。3、TCP/IP 5层协议栈模型 应用层 ——http 、SMTP、FTP、telnet…… 传输层
2016-09-18 07:53:41 233
原创 Review-java基础-反射机制(Reflect)
在程序运行期间,Java运行系统始终为所有的对象维护一个被称为运行时类型标识,这个信息跟踪着每个对象所属的类。虚拟机利用运行时的类型信息选择相应的方法执行。保存这些信息的类被称为Class,一个Class对象表示一个特定类的属性 能够分析类能力的程序称为反射: 反射可以: 1.运行时分析类的能力‘ 2.在运行时查看对象 e.g 编写一个toString对象供所有类使用 3.实现通用的数组操
2016-08-31 10:45:41 442
原创 Review-Java基础--抽象类(abstract)
抽象类不能被实例化,即如果将一个类声明为abstract,就不能创建这个类的对象。但可以创建一个具体的子类的对象。 另外:可以根据抽象类,可以定义一个抽象类的对象变量,但它只能引用非抽象子类的对象。 假设Person为一个抽象类,Sudent为一个继承自Person的非抽象子类。则Person p=new Person(“name”); 但可以创建一个具体子类的对象 Person p=new
2016-08-29 17:13:39 515
原创 JDBC数据库链接(MySQL数据库连接)
JDBC 访问数据库的一般流程: 1.注册驱动(Class.forName( )),将JDBC-connector……复制到web应用程序的WEB-INF\lib目录中。 2.建立连接(Connection) 3.创建数据库操作对象用于执行SQL语句(Statement) 4.执行语句 5.处理执行结果(ResultSet) 6.释放资源package dbaccess;import
2016-05-04 21:46:56 530
原创 统计页面访问量(JSP)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
2016-03-25 17:18:08 4133
原创 解一元二次方程(基于对话框)
/* 常用的对话框的类: JOptionPane.showInputDialog(null, text, title,value) JOptionPane类可显示可包含文本、按钮等的消息框。 JOptionPane.showInputDialog方法返回用户输入的字符串。 显示在输入对话框中的标题、消息及图标等由传递给该方法的参数确定,参数text是要在输入对话框中显示的字符串,参数 ti
2016-03-20 20:58:31 805
原创 计算随机抛1000次的骰子各个数字产生的概率。
import javax.swing.*;public class Rate{ public static void main(String[] args) { int a[]=new int[7],t=1000,x; while(t-->0) { x=(int)(Math.random()*6)+1;
2016-03-20 20:33:01 5384
原创 界面控制与事件(二、Puzzle界面)
Puzzle数字游戏界面设计:import java.awt.*;//import javax.swing.*;//import java.awt.event.*;public class Puzzle extends Frame{ Label[] bl; //定义标签数组 //构造函数 public Puzzle() // { setTitle
2016-03-15 20:31:50 312
原创 界面控件与事件(一、登录界面)
好简洁的学生信息管理系统登录界面=_= 仍然有好多需要处理的地方。。。。。。。。。import javax.swing.*;import java.awt.*;public class Main extends JFrame{ JRadioButton rb1,rb2; JCheckBox check1,check2,check3,check4; JLabel na
2016-03-15 19:53:25 348
原创 CF #622C. Not Equal on a Segment
题意:n个数,m次询问;n, m (1 ≤ n, m ≤ 2·10^5)每次询问区间l,r内不等于k的任意数的位置。分析:遍历一遍,将前后相同的数的下标记为相同。 如: 数列a : 1 2 1 1 3 5 position : 1 2 3 3 5 6 然后用map记录相同位置出现的次数。 对于每次询问:先判断 a[l]==k ???,等的话,直接 输出 l ;然后判断是否
2016-03-12 17:47:04 381
原创 CF #651B. Beautiful Paintings
题意:n个数,现在以任意的顺序排列,使a[i]+1>a[i],这样的对数最多。分析: 方法一:先排序。对每一个数,向后扫描比它大的那个数, 方法二 :如果n个数都不相同,则必有n-1对符合要求,一旦有最大重复数字个数为m,则有n-1-m对。符合要求。/*method ——1*//*#include<bits/stdc++.h>using namespace std;int a[1005]
2016-03-10 18:20:36 509
原创 CF #651C. Watchmen(map容器)
题目: 给出序列对x , y 判断右边两个式子是否相等 |xi - xj| + |yi - yj|. 分析:对两边式子进行平方运算得 |xi - xj| * |yi - yj|=0.,所以得到xi==xj或yi==yj. 只要枚举这两者出现的情况即可,注意要去重。 数据结构:map,pair#include<bits/stdc++.h>using namespace std
2016-03-10 17:39:11 441
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人