编程技巧
eeetttzhangji
这个作者很懒,什么都没留下…
展开
-
调用第三方接口查询手机号码归属地
package redis; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;...原创 2019-02-14 13:23:07 · 1083 阅读 · 0 评论 -
Linux 批量修改文件夹下所有文件中特定内容
sed -i "s/log_0.txt/pda_log.txt/g" `grep log_0.txt -rl .` 在你想替换的文件夹下运行这条语句。就是把当前文件夹下的log_0.txt全部替换成pda_log.txt转载 2019-01-23 16:41:03 · 2033 阅读 · 0 评论 -
eclipse打成jar包在linux下运行
先tm说一下,就这个破问题我用了一上午的时间解决的,网上文章稂莠不齐,真的,最烦的就是这种问题了。借别人文章记录一下,最重要的一句话:(2)假设我们的项目打包后为test.jar,那么按照上面的定义,应该在test.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。 1、MANIFEST.MF在工程下新建一个MANIFEST.MF的文件,项目结构如下。M...转载 2019-01-14 21:24:29 · 573 阅读 · 0 评论 -
Linux下执行.class
我运行的class文件没有打包,直接是class文件: 1.先把java文件编译成class文件,如果使用到了非java自带的包,请把该jar解压到与class文件同目录下,保留com文件夹, 2.编写java.sh脚本,第一行写入export PATH=$PATH:"你自己的java bin目录,比如我的目录为/opt/jdk/bin",这一步非常重要,第二行写入 cd javaclass ...转载 2019-01-07 19:16:45 · 2490 阅读 · 0 评论 -
JDBC批处理(尤其是preparestatement那个摆放的位置写的太好了)
JDBC的PreparedStatement启动事务使用批处理executeBatch()JDBC使用MySQL处理大数据的时候,自然而然的想到要使用批处理,普通的执行过程是:每处理一条数据,就访问一次数据库;而批处理是:累积到一定数量,再一次性提交到数据库,减少了与数据库的交互次数,所以效率会大大提高至于事务:事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部...转载 2018-12-29 15:39:22 · 386 阅读 · 0 评论 -
插入时时间字段自动更新为系统时间
ALTER TABLE `fk_lab_cust_detail_analysis_moni`ADD COLUMN `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' ;原创 2018-12-27 19:09:14 · 706 阅读 · 0 评论 -
扩展操作吗方法
需要建立的一种直观的认知是:既然是扩展操作码,就意味着操作码的位数越变越多! 之所以这么强调,是因为常常混淆了操作码的扩展方向。再看扩展的原理: 假设指令字长是16位,平均劈开成4份,高位4位用作操作码,低12位分别用作三个地址码。那么操作码的个数就是四个二进制所能表达的离散数目:24=16OK,如果地址码只能做地址码,这是最终的结局了。 但是,如果地址码可以化转载 2017-09-21 13:14:38 · 1471 阅读 · 0 评论 -
关于return的理解
SudokuTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 21134 Accepted: 10076 Special JudgeDescriptionSudoku is a very simple task. A square table wit原创 2017-08-24 21:24:42 · 1029 阅读 · 0 评论 -
头条校招笔试题-求区间序列的最大值
[编程题] 编程题2时间限制:3秒空间限制:131072K给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个:区间中的最小数 * 区间所有数的和最后程序输出经过计算后的最大值即可,不需要输出具体的区间。如给定序列 [6 2 1]则根据上述公式, 可得到所有可以选定各个区间的计算值:[6] = 6 * 6 = 36;[2] = ...原创 2019-04-10 20:40:36 · 411 阅读 · 0 评论 -
字节跳动校招-找出最大的点的集合
[编程题] 编程题1时间限制:1秒空间限制:32768KP为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内)如下图:实心点为满足条件的点的集合。请实现代码找到集合 P 中的所有 ”最大“ 点的集合并...原创 2019-04-10 19:31:52 · 1157 阅读 · 0 评论 -
深刻反思-高中数学-约束条件下线性规划的最优解问题
首先,写这篇文章不是仅仅为了去复习点线性规划,而是自己经过这么多年的教育下来,自己的得失,更多的,是审视自己的失去,审视教育的弊病。2018年阿里巴巴调度算法大赛,给出了约束,要求最优调度方案。我刚审题便觉得很像高中数学学的约束优化问题。但我却忘的一干二净,在这里,我不责备自己,也不责备教育,因为忘了似乎在所难免。好吧,我们直接进入正题,接下来是高中数学的一道线性规划教材引导题,我将在这道题的...原创 2019-08-29 21:03:09 · 1769 阅读 · 0 评论 -
intellij导出jar包
https://blog.csdn.net/xuemengrui12/article/details/74984731原创 2019-07-17 20:29:49 · 127 阅读 · 0 评论 -
maven仓库
https://mvnrepository.com/artifact/org.apache.hadoop原创 2019-06-18 15:04:19 · 97 阅读 · 0 评论 -
udp数据报分片计算
当一个8192B的UDP数据报通过以太网传送时,导致分片,问需要分成几个数据报片?每个数据报片的长当一个8192B的UDP数据报通过以太网传送时,导致分片,问需要分成几个数据报片?每个数据报片的长度和偏移是多少?1)首先,计算数据包总长度:数据包总长度=IP头(20字节)+UDP头(8字节)+UDP数据(8192字节)=8220(字节)2)由于你没有提到分片大小,以一般的以太网M...原创 2019-04-16 12:59:38 · 10826 阅读 · 5 评论 -
单例模式
本文主要介绍java的单例模式,以及详细剖析静态内部类之所以能够实现单例的原理。OK,废话不多说,进入正文。首先我们要先了解下单例的四大原则:1.构造私有。2.以静态方法或者枚举返回实例。3.确保实例只有一个,尤其是多线程环境。4.确保反序列换时不会重新构建对象。我们常用的单例模式有:饿汉模式、懒汉模式、双重锁懒汉模式、静态内部类模式、枚举模式,我们来逐一分析下这些模式的...转载 2019-04-15 20:51:50 · 92 阅读 · 0 评论 -
LRU原理和redis实现
这是我转载的,原文是谁写的我也不清楚。很久前参加过今日头条的面试,遇到一个题,目前半部分是如何实现 LRU,后半部分是 Redis 中如何实现 LRU。我的第一反应是操作系统课程里学过,应该是内存不够的场景下,淘汰旧内容的策略。LRU ... Least Recent Used,淘汰掉最不经常使用的。可以稍微多补充两句,因为计算机体系结构中,最大的最可靠的存储是硬盘,它容量很大,并且内容可...原创 2019-04-07 09:22:14 · 413 阅读 · 0 评论 -
头条笔试-手串
[编程题] 手串时间限制:1秒空间限制:65536K作为一个手串艺人,有金主向你订购了一条包含n个杂色串珠的手串——每个串珠要么无色,要么涂了若干种颜色。为了使手串的色彩看起来不那么单调,金主要求,手串上的任意一种颜色(不包含无色),在任意连续的m个串珠里至多出现一次(注意这里手串是一个环形)。手串上的颜色一共有c种。现在按顺时针序告诉你n个串珠的手串上,每个串珠用所包含的颜色分别有哪...原创 2019-04-10 23:35:37 · 225 阅读 · 0 评论 -
头条笔试-手串
[编程题] 手串时间限制:1秒空间限制:65536K作为一个手串艺人,有金主向你订购了一条包含n个杂色串珠的手串——每个串珠要么无色,要么涂了若干种颜色。为了使手串的色彩看起来不那么单调,金主要求,手串上的任意一种颜色(不包含无色),在任意连续的m个串珠里至多出现一次(注意这里手串是一个环形)。手串上的颜色一共有c种。现在按顺时针序告诉你n个串珠的手串上,每个串珠用所包含的颜色分别有哪...原创 2019-04-10 23:30:36 · 107 阅读 · 0 评论 -
求二进制数中1的个数
普通法我总是习惯叫普通法,因为我实在找不到一个合适的名字来描述它,其实就是最简单的方法,有点程序基础的人都能想得到,那就是移位+计数,很简单,不多说了,直接上代码,这种方法的运算次数与输入n最高位1的位置有关,最多循环32次。int BitCount(unsigned int n){ unsigned int c =0 ; // 计数器 while (n >0)原创 2017-04-21 12:24:50 · 275 阅读 · 0 评论 -
二分查找 基于有序数组 返回下标
我用的递归#includeint binary_search(int *a,int low,int high,int k);int main(){int a[8]={1,2,3,4,5,6,7,8};printf("%d\n",binary_search(a,0,7,7));return 0;}int binary_search(int *a,i原创 2016-09-25 15:23:01 · 516 阅读 · 0 评论 -
素数筛选 欧拉筛选
#include#includeconst int N = 1000000 + 5;int prime[N], check[N];int ptot;/*欧拉筛法进行素数筛选*/void filter(int n); int main(){memset(prime, 0, sizeof(prime));memset(check, 0, sizeof(chec原创 2016-09-25 14:49:07 · 361 阅读 · 0 评论 -
三种方法实现链表的插入
1,:使用二级指针不返回参数实现在给定条件前进行插入操作void insertlink(struct node ** tp,int k){ struct node ** curr; for(curr=tp;*curr;){ struct node * entry=*curr; if(entry->date == k){ *curr=(struct node *)mall原创 2016-10-10 21:52:03 · 1159 阅读 · 0 评论 -
阿牛的EOF牛肉串 遗憾的是超时了
利用0-1背包问题的方法解决#include#define MAX 50int x[MAX]; //当前答案 int bestx[MAX]; //最佳答案 int n; //排列的长度 int num=0;void PrintPerm(int t);int main(){while(~scanf("%d",&n)){num=0;Pri原创 2016-09-24 13:12:08 · 263 阅读 · 0 评论 -
求任意数列的全排列
利用递归求解#includevoid PrintPerm(int *a,int *b,int n,int m,int cur);int main(){ int n,m,i,a[100],b[20]; printf("please input n\n"); scanf("%d",&n); for(i=0;i scanf("%d",&b[i]); PrintPe原创 2016-09-23 19:23:37 · 586 阅读 · 0 评论 -
排序需要多个判断条件的解决方法
while (first < last && !( (stu[last].sumscore > stu[0].sumscore) || (stu[last].sumscore == stu[0].sumscore && stu[last].moral > stu[0].moral) || (stu[last].sumscore == stu[0].s原创 2016-09-15 16:55:49 · 355 阅读 · 0 评论 -
数组顺序移动
数组移动可以看做数组倒序,先把0到n-m-1的倒序,再把n-m到n-1倒序,再把整个数组倒序。就是这么的简洁!!!原创 2016-09-10 17:29:27 · 298 阅读 · 0 评论 -
装载问题 回溯法解决
我只输出是不是能装得下,没有保存最优解决方案#include#include#define MAXSIZE 50int heigh[MAXSIZE];int MAX=0;int high=0;int c1,c2;void loading(int c1,int t,int n);int main(){int n,i,sumheigh=0;mem原创 2016-09-25 16:18:47 · 588 阅读 · 0 评论 -
按字节交换内容,贼6
#includestruct medal{ char name[10]; int gold; int sliv; int bron;};void swap(char *a,char *b,int width);int main(){ struct medal country[2]={{"Japan",1,3,1},{"America",8,3,1}}; char *p=(原创 2016-10-02 09:54:04 · 278 阅读 · 0 评论 -
利用递归查找链表中与数据成员值与形参n相同的结点
#include#includetypedef struct node{ int date; struct node *next;}node;int n=0;node * Creatlink(struct node * tp,int k);node * find_nodes(struct node * tp,int k);int main(){ int tmp; str原创 2016-10-07 19:01:40 · 320 阅读 · 0 评论 -
利用递归创建链表
#include#includetypedef struct node{ int date; struct node *next;}node;node * Creatlink(struct node * tp,int k);int main(){ int tmp; struct node * head=NULL, *tail=NULL; head=Creatlink(t原创 2016-10-07 17:09:41 · 605 阅读 · 0 评论 -
不利用函数直接构造链表
给定一批整数,以0作为结束标志且不作为节点,将其建成一个先进先出的链表#include#includetypedef struct node{ int date; struct node *next;}node;int main(){ int tmp; struct node * head, *tail; head=(struct node *)malloc(s原创 2016-10-07 16:45:56 · 433 阅读 · 0 评论 -
返回一级指针 创建链表
给定一批整数,以0作为结束标志且不作为节点,以此为节点构成一个先进先出链表#include#includetypedef struct node{ int date; struct node *next;}node;node * Creatnode(struct node * tp,int k);int main(){ int tmp; struct node原创 2016-10-07 16:36:26 · 306 阅读 · 0 评论 -
二级指针传参创建链表
给定一批整数,以0作为结束标志且不作为节点,将其建成一个先进先出的链表。#include#includetypedef struct node{ int date; struct node *next;}node;void Creatlink(struct node ** tp,int k);int main(){ int tmp; struct node *原创 2016-10-07 16:16:17 · 830 阅读 · 0 评论 -
对字符串求字典序全排列(字符可重复)
#include#include#includeint comp(const void *a,const void *b){ char *s=(char *)a; char *t=(char *)b; if(*s<*t) return 0; return 1;}void PrintPerm(char a[]);void swap(char *a,char *b);int原创 2016-10-05 17:10:30 · 671 阅读 · 0 评论 -
对于排序的深刻理解
难道排序非得就是直接比较大小吗?完全错误,下面这个就是一个很好地例子给出N 整数,他们连接成最大整数为?#include#include#include#define MAXN 50char num[MAXN][100];int cmp(const void *a,const void *b);int main(){ int n,i,temp; printf(原创 2016-10-02 20:06:03 · 313 阅读 · 0 评论 -
多关键字排序 shell 为什么就不对呢
#include#includestruct medal{ char name[10]; int gold; int sliv; int bron;};int comp(const void *a,const void *b);void swap(char *a,char *b,int width);void shellsort(void *x,int n,int si原创 2016-10-02 15:34:23 · 394 阅读 · 0 评论 -
将两个已经排好序的数组重新排序存于一个更大的数组中
#include#include#includeint main(){int i=0,j=0,k=0;int lena,lenb,conter,len;int a[5]={2,4,7,9,12};int b[4]={1,4,8,89};lena=(sizeof(a)/sizeof(int));lenb=(sizeof(b)/sizeof(int));le原创 2016-06-27 21:38:25 · 868 阅读 · 1 评论