自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 多线程编程模式-Promise

Promise多线程编程模式

2022-09-04 21:52:11 253

原创 多线程编程模式-Producer-consumer

producer-consumer多线程编程设计模式

2022-09-04 21:48:58 362 1

原创 贪心啊贪心

贪心就是每次都选择一个局部最优解,推到最后得到一个全局最优解。动态规划不一样的是,动态规划的每一步的不同选择会导致最后结果的不同。比如从一堆纸币里选择10次怎么选出来额度最高,适用贪心算法就是每次都从那堆纸币里拿出面额最大的一张,这样选择10次以后得到的总面额肯定是最大的。又比如在一个二维数组的矩形路径上,要选择一条花费最少的路径,这一步的选择会影响下一步的选择,这种情况就应该用动态规划。那么贪心是不是就是动态规划的特殊情况。leetcode 455 分饼干小孩胃口数组g = [1

2022-03-23 10:34:55 1745

原创 前缀和&差分

一个只用初始化依次,但是却要反复检索计算多次,需要在最开始做预处理。=======================以下请看版权声明将matrix[][]的前缀和数组定义为prefix[][],定义prefix[i][j]表示从[0, 0]位置到[i, j]位置的子矩阵所有元素的和。 S(O,D)=S(O,C)+S(O,B)−S(O,A)+D如果求 preSum[i][j]preSum[i][j] ...

2022-03-16 19:30:31 1328

原创 广度优先遍历

什么时候需要分层遍历?什么时候不用分层遍历?有时候刷题看解答就会疑惑,为什么在广度优先遍历的时候有的题解答中类似以下代码:while (!queue.isEmpty()) { int queueSize = queue.size(); for (int i = 0; i < queueSize; i++) { int[] node = queue.poll(); int curNodeValue = matrix[node[0]][node

2022-03-15 20:28:16 237

原创 并查集并查集

并查集就是一个一群人找祖宗的过程:最开始,每个人就是一个单独的部落,根据某个条件判断他俩属于一个部落,比如他俩相似,或者有其它属性,属于一个部落的两个人,就有一个祖宗,找到同宗的,那就部落合并,最开始的部落数就可以-1了遍历到最后的最后,所有人都认祖归宗,那么部落数就是最后的结果 /** * 剑指offer 相似的字符串 * * 【定义】: * 如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两

2022-03-12 20:07:40 241

原创 消息中间件的一些

DLedger是如何基于Raft协议进行多副本同步的?DLedger是Broker上用来管理CommitLog的,每个Broker上有一个DLedgerServer数据会分为两个阶段:1.uncommitted阶段Leader Broker上的DLedger收到一条数据后,会标记为uncommitted状态,然后通过自己的DLedgerServer组件把这个uncommitted数据发送给FollowerBroker的DLedgerServer。FollowerBroker的DLed

2022-03-05 17:07:30 411

原创 二分法总结

出处:代码随想录 代码随想录 代码随想录代码随想录二分法的两种区间定义:1.[left, right] 左闭右闭2.[left, right) 左闭右开一、target定义在左闭右闭区间内:[left, right]此时:while (left <= right) 要使用 <= ,因为left == right是有意义的,所以使用 <= if (nums[middle] > target) right 要赋值为 middle - 1,因为当前这个nu.

2022-02-27 10:59:34 455

原创 树树树二叉树

出处:代码随想录 代码随想录 代码随想录代码随想录二叉搜索树有序,若左子树不为空,则左子树上所有节点的值都小于根节点的值。若右子树不为空,则右子树上所有节点的值都小于根节点的值。左右子树分别为二叉搜索树。用数组来存储二叉树如何遍历的呢?如果父节点的数组下标是 i,那么它的左孩子就是 i * 2 + 1,右孩子就是 i * 2 + 2。链式存储是大家很熟悉的一种方式,那么我们来看看如何顺序存储呢?public class BinaryTree { /**.

2022-02-24 22:06:11 579

原创 单调栈题集

出处:代码随想录 代码随想录 代码随想录 代码随想录通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。 /** * leetcode 739. 每日温度 * 单调栈,使用空间换时间,因为遍历的过程中要用一个栈来记录右边第一个比当前元素大的元素,优点是只需要遍历一遍 * * 需要明确: * 【单调栈里存放的元素】:存放下标足够 * 【单调栈里是递增还是递减】:顺序为从栈.

2022-02-15 17:01:03 59

原创 回溯算法各种

出处:代码随想录代码随想录 代码随想录代码随想录要会设置回溯函数终止条件,进入回溯函数,首先判断,是否符合终止条件。形成回溯搜索树,集合大小构成树的宽度,递归深度构成树的深度,遍历过程伪代码:if (终止条件) { 记录结果; return;}for (选择 : 本层集合中元素) { // for循环的执行次数和当前节点的孩子数一致 处理节点; backtracking(路径,选择列表); // 递归过程 撤销结果,达到回溯目的}for:..

2022-02-09 20:37:30 744 1

原创 while在算法中的用法收集

出处:算法第四版public class Helper { public static boolean isLess(int[] a, int i, int j) { return a[i] < a[j]; } public static void exch(int[] a, int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; }

2022-02-08 20:04:55 435

原创 快速排序Java版本

出处:算法第四版public class QuickSort { public static void quickSort(int[] a) { helper(a, 0, a.length - 1); } private static void helper(int[] a, int lo, int hi) { if (hi <= lo) { return; } // 这一步中,.

2022-02-07 14:32:50 415

原创 回溯法和动态规划方法解UniquePath

出处:javascript-algorithms/src/algorithms/uncategorized/unique-paths at master · trekhleb/javascript-algorithms · GitHubimport java.util.Arrays;/** * 唯一路径问题 * * 机器人位于m * n网格左上角,只能向下或向右移动到达右下角 * 求出,共有多少种可能的独特路径 */public class UniquePath { /**

2022-02-02 20:58:34 502

原创 解背包问题

出处:https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/sets/knapsack-problemimport java.util.ArrayList;import java.util.List;/** * 背包问题就是给一些物品(set,不重复),每个物品有重量和价值 * 决定每个物品的数量,保证包能装得下,并且所有物品价值最高 * * [0/1背包问题] 就是一个物品的个数为1或者

2022-01-28 17:51:05 539

原创 四种方法解决JumpGame

出处:https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/uncategorized/jump-gameimport java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * @description: * Given an array of non-negative integers, you are

2022-01-27 15:23:34 6652 2

原创 cython

参考:https://www.cnblogs.com/traditional/p/13284386.htmlpxd文件类似于c、c++语言中的头文件,cimport引入的就是从pxd文件中进行属性导入。cython是不能够在pyx文件之间相互导入的。如何有效组织cython项目一般情况下pyx文件和py文件是等价的,但是如果需要和其他文件共享某个pyx文件中的c级结构就需要pxd文件。pxd文件中只存放:C类型声明--ctypedef、结构体、共同体、枚举(后续系列中介绍) 外部的C

2021-07-11 22:08:29 105

原创 linux使用

grepgrep ${被搜索的字符串} ${被搜索的文件路径}ex: grep root /etc/passwordex: grep -n root /etc/password # -n : 显示行号grep -n -i dns /etc/password # -i : 忽略大小写grep -n -v nologin /etc/password # -v : 不包含,排除grep -n -v "#" /etc/fstab # 排除包含"#"符

2021-06-28 22:39:12 58

原创 kubernetes deployment资源

保证pod高可用的方式,解决rc的痛点:如果想要升级rc,rc升级成功后,rc标签变为新的label2,和service的label不匹配了,导致service下没有pod。

2021-06-20 18:35:10 97

原创 kubernetes service资源

在k8s中不能直接给pod容器做端口映射让外界访问k8s中的ip地址类型nodeip

2021-06-20 17:59:18 70

原创 kubernetes rc资源

概念kubernetes需要保证应用能持续运行,使用rc -> replication controller 保证任何时间k8s中都有指定数量的pod在运行。

2021-06-20 15:40:26 127

原创 kubernetes pod常用操作

# 一个过程kubernetes创建一个pod资源至少拉起两个容器,kubelet操作daocker,创建一个业务容器,一个pod容器。pod容器支持k8s的高级yon

2021-06-20 11:21:01 249

原创 电商项目的思考

什么情况下用静态方法和静态变量:静态变量就是这个变量虽然属于这个类,但是要在全局作用的时候。比如Employee类,有个变量是numberOfEm总人数,那就让这个变量是静态变量静态方法就是在不需要通过对象来操作的方法,想用就用的方法,全局的方法。Math.pow()。...

2020-05-30 10:08:34 291

原创 Java基础和Go

java赋值到底赋值的是什么int a = 0;int b = a;a = 666;System.out.println(a, b);打印出来a = 666, b = 0int b = a 这个b不是指向a指向的内存地址,也不是地址的引用,就是拷贝了一份值...

2020-04-18 16:43:57 150

原创 电商项目配置注意事项

Mac OS 修改hosts文件方式使用terminal语句修改不成功sudo vim /etc/hosts保存的时候总是显示can’t open file for writing都已经sudo了还不给权限解决方法直接进入/etc/目录,找到hosts文件,并双击打开,这个时候要修改时,系统提示需要复制,那就复制,改完保存到桌面命名hosts.txt。保存好以后就把桌面这个文...

2020-04-04 15:48:11 163

转载 数据库中重复数据的处理【转载】

来源 : http://www.runoob.com/mysql/mysql-handling-duplicates.html 统计重复数据以下我们将统计表中 first_name 和 last_name的重复记录数:mysql&gt; SELECT COUNT(*) as repetitions, last_name, first_name -&gt; FROM per...

2018-12-20 09:56:09 1053

原创 一次优化经历

本来需求是:对所有勾选的项目,要找到这个项目所有的关联的项目,然后都要做统一的操作。之前我一直是遍历这些项目,一个一个找关联项目。这样就需要访问很多此数据库,性能特别低。后面改进成:汇总所有的勾选项目,在数据库中一次性寻找,并汇总到一个Array中 function findRelatedProjectId(queryString) {    //queryString 形式'1...

2018-12-12 14:45:58 115

原创 一个很蠢的造成数据库死锁的问题

因为服务器端没有返回值,造成数据库事物一直没有提交而update的时候总是lock。蠢死我算了……

2018-12-12 11:39:01 946

转载 phpMyAdmin修改mysql密码后无法登录的问题

网上有很多人说这样改了SQL密码后就进入不了phpmyadmin了,不是说密码错就是什么连接不了数据库等。今天我也遇上了这个问题,我的环境是FreeBSD7.0+mysql5.0+ phpMyAdmin 2.10.0解决办法很简单:1、把/libraries目录下的config.default.php 覆盖phpmyadmin下的config.inc.php文件2、然后修改ph

2015-05-10 10:00:31 473

转载 phpMyAdmin修改mysql密码后无法登录的问题

网上有很多人说这样改了SQL密码后就进入不了phpmyadmin了,不是说密码错就是什么连接不了数据库等。今天我也遇上了这个问题,我的环境是FreeBSD7.0+mysql5.0+ phpMyAdmin 2.10.0解决办法很简单:1、把/libraries目录下的config.default.php 覆盖phpmyadmin下的config.inc.php文件2、然后修改ph

2015-05-10 09:59:23 4293

原创 sublime打开以后有工程文件夹,但里面没东西

对于一个菜鸟今天打开昨天建立的sublime工程文件下,有文件夹,但找不到之前创建的php文件原来是我之前把文件夹放在桌面,然后拖到sublime里面后把桌面的文件夹删了,所以找不到了以后可以这样:因为用的是apache服务器,所以将工程文件夹放到apache文件夹下的相应位置下后,在这个位置,将文件夹拖入sublime。这样再开sublime就能找到文件了。

2015-05-03 13:09:53 1673

原创 sublime新建工程文件夹

选择project,选择add folder to project...在弹出的导航框中选定你选好的位置,新建一个你的工程文件夹,确定ok了

2015-05-02 21:59:09 6908

原创 sublime上调试php代码

自从入了sublime,发现还有很多未知。今天学习php语言编程,用php语言在sublime上写了一段代码,结果只能用浏览器调试,还在寻找解决方法。书用的也挺烂的,竟然代码还有错……从网上查到Xdebug helper插件可以帮助调试,但是找不到下载,装不上插件……继续努力,吃了饭再来看看。

2015-05-02 17:25:34 482

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除