- 博客(83)
- 资源 (3)
- 收藏
- 关注
原创 贷前中后简单记录
前中后贷前贷中贷后是一个业务分类,是用户信贷生命周期的三个阶段。并不是一个业务架构或者技术架构。以下的贷前贷中贷后主要是互金领域的情况,传统银行也有贷前贷中贷后,但是做法不同。贷前1、准入/额度/利率贷前的核心就是两个,准人和额度。准入在信贷中基本采用预准入,即将用户的信息收集起来,提前算好,这个用户能否进来。这部分除了模型,就是黑名单和域外数据,模型负责计算这个用户违约的概率(信用评级/欺诈评级),黑名单是将各种黑灰产拦截掉(例如其他场景的,行业共享的各类黑名单数据)。额度,有了用
2022-05-09 17:18:42 4863
原创 刷题-最长不含重复字符的子串
class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ # 构建两个指针index if (len(s) <= 1): return len(s) curMaxLen = 1 startIndex = 0.
2021-12-16 21:29:17 129
原创 两种不同的反欺诈思路
0x01 两种不同的思路0x02 业务安全的反欺诈思路0x03金融反欺诈 金融信贷业务中,有各种不同的指标,这些指标围绕着贷前、贷中,贷后三个阶段对信贷产品的质量进行度量。比如反映用户逾期的指标(逾期30天,还是逾期7天),逾期性质的指标(首期逾期),比如反应用户贷后催收的指标(滚动率、逾期回款率),0x04...
2021-09-13 17:27:59 422
原创 爬虫与反爬
0x01成本对抗反爬的核心是成本对抗,通过分析爬虫的进攻路径,在每个环节增加爬虫的成本。0x02爬虫的分类:匿名态vs登陆态低级爬虫vs高级爬虫散兵游勇vs集团军PC端爬虫vs移动端爬虫0x03反爬的对于登陆态爬虫:0x02爬虫的成本有哪些1、...
2021-09-01 18:24:51 1199
原创 趣谈tf.stack与tf.concat
发现一个简单,或者说有点意思的理解tf.stack的方法t1 = [[1, 2, 3], [4, 5, 6]]t2 = [[7, 8, 9], [10, 11, 12]]c0=tf.stack([t1, t2], 0)c1=tf.stack([t1, t2], 1)c2=tf.stack([t1, t2], 2)with tf.Session() as sess: print('c0') print(sess.run(c0)) print('c1') print(sess.r.
2020-07-28 10:39:40 665
原创 图的DFS遍历(python版本)
很久不写c++了,写了很久的sql,明显感觉代码能力退化了,利用python写了个DFS,思路很简单了,这里只是做个简单的记录,主要是区别在于,限制了一个step,当一个很大的图,全局遍历会很大,所以限制一个step,即由出发节点出发多少步就不往前探测了。import networkx as nximport matplotlib.pyplot as pltdef dfs(graph,no
2016-05-17 20:02:11 9931
原创 Spark 基础(一)
最近一直在学习Spark,Spark 是hadoop 的改进加强版,相比于hadoop,对迭代运算支持更好,加上内存运算,某些方面速度更快,在Spark中,将RDD作为其中的基本运算单元,也就是以rdd为基本数据结构,程序开发人员的操作都是在rdd上进行操作,rdd对于开发人员,逻辑上可以认为就是一个分布式存储的大数组,没个rdd下包含若干分区,这些不同的分区可以存储在同一台机器,也可以存储在不同
2016-02-21 16:27:32 592
原创 C++基础(六)一个Class
class Student{public: Student():m_Age(0) //zhel { memset(m_Name,0,sizeof(m_Name)); } Student(int nAge,char *pName) { m_Age=nAge; if (pName!=NULL) { if (strlen(pName)<20) { s
2014-07-02 21:02:04 576
原创 面试题(十一)最长递增子序列
给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4
2014-06-23 17:04:31 1199
原创 面试杂题(九)打印一到最大的n位数
void printOne2MaxNDigit(int n){ if (n<=0) { return; } int *pNum=new int[n+1]; memset(pNum,0,sizeof(int)*(n+1)); while(pNum[0]!=1) { //打印 for (int i=1;i<=n;i++) { if (pNum[i]!=0)
2014-05-30 16:27:23 611
原创 面试杂题(八)合并两个递增链表
#include typedef struct LinklistNode { int nData; struct LinklistNode *next;}Node;using namespace std;#define N 20Node *mergeLinkList(Node *pHead1,Node *pHead2);Node* createLinkList(int *pD
2014-05-30 09:52:02 661
原创 面试杂题(七)二维数组中寻找
// 1 2 8 9// 2 4 9 12// 4 7 10 13// 6 8 11 15 bool findNR(int **pArray,int nRowSize,int nColSize,int k){ int nRowIndex=0; int nColIndex=nColSize-1; while(nRowIndex>=0&&nRowIndex=0&&nCo
2014-05-29 22:25:28 650
原创 面试杂题(五)从尾到头打印链表
#include #include typedef struct node{ int nData; struct node *next;}Node;Node * createLinklist(int *pData,int nLen);void printLinklist(Node *pHead);void printLinklistReverse(Node *pHead);vo
2014-05-27 15:49:11 516
原创 排序算法(七)基数排序
从低位到高位排序,用hash来实现#include #define N 400using namespace std;typedef struct Hdata{ int data; struct Hdata *next;}Node;void radixSort(int *pData,unsigned int nLen);bool GetMax(int *p
2014-05-21 18:56:45 571
原创 排序算法(六)快速排序
void quickSort(int *pData,int nLow,int nHigh) //递归{ if (nLow<nHigh) { int i=partition(pData,nLow,nHigh); quickSort(pData,nLow,i-1); quickSort(pData,i+1,nHigh); }}void swap(int *pD
2014-05-21 10:51:15 605
原创 ACM(一)大数相乘
#include using namespace std;void arrayPrint(int *p);void Muli(char *num1,char *num2);int main(){ char num1[100]; char num2[100]; cin>>num1>>num2; Muli(num1,num2); getchar();
2014-05-06 11:33:23 1428
原创 数据结构基础(三)哈希表的实现
#pragma once#include #define N 10using namespace std;typedef struct node{ int val; struct node *next;}Node;void freeLinklist(Node *&head);void freeLinklist(Node *&head){ if (head==NULL)
2014-04-28 16:49:35 609
原创 排序算法(六)归并排序
#include using namespace std;#define N 50000void mergearray(int a[], int first, int mid, int last, int temp[]);void printArray(int *p,int size);void mergeSort(int a[],int first,int last,int temp[
2014-04-27 01:00:32 551
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人