自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

马金波

Can do, get it down, hard work.

  • 博客(372)
  • 资源 (3)
  • 收藏
  • 关注

原创 go 学习map当key值不存在返回的是什么?

当map的key不存在的时候,它的返回值为这个类型的默认返回值。

2022-08-31 16:14:27 4935

原创 正则匹配-非捕获分组

正则匹配-非捕获分组

2022-07-26 20:12:30 526

原创 go 学习可变参

go 语言可变参

2022-06-30 14:35:07 308

原创 go map作为返回值需小心

测试文件 test.gopackage mainimport "fmt"var RankMap = map[int]int{ 10: 3, 11: 2, 12: 1, 13: 4,}func main() { fmt.Println("=========getRank==========") fmt.Printf("%p\n", RankMap) fmt.Println("RankMap", RankMap) SetRankMap(1) fmt.Println("RankM

2022-05-19 10:02:43 1807

原创 git reset 日常三种使用

git reset 日常三种使用创建演示目录[test@host ~]$ mkdir git-reset-demo[test@host git-reset-demo]$ cd git-reset-demo[test@host git-reset-demo]$ git init ./[test@host git-reset-demo]$ git branch[test@host git-reset-demo]$ git statusOn branch masterNo commits yet

2022-04-29 11:58:38 266

原创 Go func & method

func & methodpackage mainimport ( "fmt")type user struct { name string email string}// user的方法;user 又称为value recevier(不修改值)func (u user) notify() { fmt.Println("This notify is method!") // method 当然方法也是一个函数 fmt.Println("user=", u)}//

2022-03-01 18:53:59 175

原创 go 匿名struct定义与初始化

匿名struct定义与初始化案例// filename test.gopackage mainimport "fmt"type Persion struct { Name string `json:"name"` Age int `json:"age"` Ext *struct { Data *struct { Sex string `json:"sex"` } `json:"data,omitempty"` // omitempty 该字段不是必须有 Hob

2022-02-23 15:53:47 589

原创 Linux sed 命令

sed介绍Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。语法sed [-hnV][-e<script>][-f<script文件>][文本文件]参数说明:-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。-f<script文件>或--file

2022-01-28 17:02:45 472

原创 go map 无序的

go map是无序的package mainimport "fmt"func main() { testMap := map[string]bool{ "43": false, "58": true, "65": true, "76": true, "88": true, "96": true, } for idStr := range testMap { fmt.Println("testMap-1", idStr, testMap[idStr]) }

2021-12-27 13:28:22 171

原创 go 学习字符串

package mainimport ( "fmt" "unicode")// HanCount 计算汉字个数func HanCount(s string) uint64 { var count uint64 for _, c := range s { if unicode.Is(unicode.Han, c) { count++ } } return count}func main() { s1 := "我们" // s1[0] = "你" // cann

2021-11-22 19:28:17 363

原创 go os.Args 学习

os.Args学习package mainimport ( "fmt" "os" "strings")func main() { fmt.Println("Hello, world 世界!") var s, sep string for i := 1; i < len(os.Args); i++ { s += sep + os.Args[i] sep = " " } fmt.Println(os.Args[0]) fmt.Println(s) fmt.Prin

2021-11-17 08:41:12 2609

原创 linux uniq学习

uniq helpUsage: uniq [OPTION]... [INPUT [OUTPUT]]Filter adjacent matching lines from INPUT (or standard input),writing to OUTPUT (or standard output).With no options, matching lines are merged to the first occurrence.Mandatory arguments to long opti

2021-10-31 21:55:04 104

原创 git stash 用法总结和注意点

常用git stash命令:(1)git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。(2)git stash list :查看stash了哪些存储(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}(4)git stash show -p : 显示第一个存储

2021-09-30 20:36:17 202

原创 初学go语言println() vs fmt.Println

初学Go语言,会不会有如下疑问?// test.gopackage mainimport ( "fmt" "unsafe")const ( Unknown = "abc_const" Female = len(Unknown) Male = unsafe.Sizeof(Female))// const (// a = iota// b// c// )const ( a = iota //0 b //1 c //2 d

2021-08-29 22:45:44 193

原创 Leetcode 199. 二叉树的右视图

199. 二叉树的右视图层次遍历二叉树(BFS)/** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; * public $right = null; * function __construct($val = 0, $left = null, $right = null) { * $thi

2021-07-03 23:41:26 139 1

原创 Leetcode 147. 对链表进行插入排序 & Leetcode 148. 排序链表

https://leetcode-cn.com/problems/insertion-sort-list/初版复杂度如插入排序,最坏可能为O(n^2)/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* insertionSortList(struct ListNode* head.

2021-06-26 23:28:10 98

原创 Leetcode 1143. 最长公共子序列

1143. 最长公共子序列https://leetcode-cn.com/problems/longest-common-subsequence/给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的

2021-05-13 09:13:49 160

原创 串的模式匹配算法

串的匹配的应用场景例如:查找子串问题说一篇文章里搜索一条词句论文查重匹配算法介绍一般都是这两种算法法来匹配字符串,BF算法与KMP算法。BF算法原理:匹配串与主串按字符两两匹配;相同时,继续按字符匹配;不相同时,主串回溯到匹配开始加1的位置,匹配串回溯到起始位置。重复以上步骤,完整的匹配到子串,则表示成功,反之失败。废话不多说,直接上代码。#include <stdio.h>#include <string.h>int deal_pos (int pos

2021-05-09 17:10:27 608

原创 解决顺序表实现队列的假溢出的循环队列

循环队列的参考视频:https://www.bilibili.com/video/BV1nJ411V7bd?p=60问题:什么是顺序队列的假溢出?从队首倒到队尾完全占用了分配的空间,是溢出。相反,队尾元素占用了分配的最后一个空间,队首元素还是占有的不是第一个分配的空间,相当于队列对外是满的,但是内部空间利用不充分,还有剩余,此时就称为假溢出。解决假上溢的方法-引入循环队列把stack[0] 接在queue[MAXQSIZE-1]之后,若rear+1 == MAXQSIZE,则令rear=0;解.

2021-05-05 16:17:29 2524

原创 10进制转换为2~16进制

10进制数n转换为 base(2、8、18)进制的转换法则:除以base倒取余。简单原理:n=(n/base) * base + n%base (此处的除法为整除)/* * @Author: jinbo.ma * @Mail: [email protected] * @Date: 2021-04-30 16:07:07 * @LastEditTime: 2021-04-30 17:23:48 */#include <stdio.h>#include <stdlib.

2021-04-30 17:26:47 483 1

原创 复数计算 [(8+6i)*(4+3i)]/[(8+6i)+(4+3i)]= ?

计算复数 [(8+6i)*(4+3i)]/[(8+6i)+(4+3i)]= ?/* * @Author: jinbo.ma * @Mail: [email protected] * @Date: 2021-03-11 15:02:21 * @LastEditTime: 2021-03-13 16:50:20 */#include <stdio.h>typedef struct complex { double real, imag;} complex;voi

2021-03-13 16:51:40 745

原创 leetcode 182. 查找重复的电子邮箱

查找重复的电子邮箱来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/duplicate-emails著作权归领扣网络所有。编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。示例:+----+---------+| Id | Email |+----+---------+| 1 | [email protected] || 2 | [email protected] || 3 | [email protected] |+----+---------+根据.

2021-02-28 18:11:40 179

原创 拓扑排序(leetcode 207、210)

拓扑排序有向无环图有向无环图:无环的有向图,简称DAG(Directed Acycline Graph)。有向无环图的应用有向无环图常用来描述一个工程或系统的进行过程(通常把计划、施工、生产、程序流程等当成一个工程)。一个工程可以分为若干个子工程,只要完成了这些子工程(活动),就可以使得整个工程完成。有向无环图分为两种表示方法,AOV网与AOE网。AOV网 (拓扑排序)用一个有向图表示一个工程的各个工程及其互相制约关系,其中顶点表示活动,弧表示活动之间的优先制约关系,称这种有向图为顶点表示活

2021-01-14 12:07:54 428

原创 PostgreSQL HAVING 子句

596. 超过5名学生的课courses表结构create table courses( student varchar(20), class varchar(20) );insert into courses(student, class) values ('A', 'Math'), ('B', 'English'), ('C', 'Math'), ('D', 'Biology'), ('E', 'Math'), ('F', 'Computer'), ('G', 'Math'), ('H', 'M

2021-01-07 11:26:49 1314

原创 leetcode 830. 较大分组的位置

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/positions-of-large-groups著作权归领扣网络所有在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 s = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下.

2021-01-05 11:34:47 111

原创 动态规划-捞鱼问题

题目3个桶,5条鱼,每个桶中可放置0~3条鱼,请问共有排列有多少种 ?分析过程递归及动态规划代码#include <stdio.h>#include <stdlib.h>/************************************************ * 递归方式求剩余bucket个桶放置剩余fish条鱼的总分配方法 * ********************************************** * @param int bu

2020-12-29 18:13:35 277

原创 226. 翻转二叉树 & 剑指 Offer 27. 二叉树的镜像

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree著作权归领扣网络所有题目翻转一棵二叉树。备注:本题与 剑指 Offer 27. 二叉树的镜像 相同示例:输入: 4 / \ 2 7 / \ / \ 1 3 6 9输出: 4 / \ 7 2 / \ / \ 9 .

2020-12-29 15:34:38 106

原创 leetcode 198. 打家劫舍

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/house-robber著作权归领扣网络所有题目你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4 解释.

2020-12-28 16:46:13 154

原创 剑指 Offer 63. 股票的最大利润 & 121. 买卖股票的最佳时机

题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/gu-piao-de-zui-da-li-run-lcof著作权归领扣网络所有。假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 =6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6

2020-12-28 14:31:35 106

原创 leetcode 1235. 规划兼职工作

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-profit-in-job-scheduling著作权归领扣网络所有。你打算利用空闲时间来做兼职工作赚些零花钱。这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 profit[i]。给你一份兼职工作表,包含开始时间 startTime,结束时间 endTime 和预计报酬 profit 三个数组,请你计算并返回可以获得.

2020-12-24 18:24:50 266 1

原创 leetcode 201. 数字范围按位与

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bitwise-and-of-numbers-range著作权归领扣网络所有。给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例 1:输入: [5,7]输出: 4示例 2:输入: [0,1]输出: 0方法1:找到公共前缀int rangeBitwiseAnd(int.

2020-12-23 16:35:07 95

原创 排序算法-计数排序

计数排序-非比较排序计数排序是一个稳定的排序算法,输入元素是n个 0到k的直接的整数时,时间复杂度是O(n),空间复杂度也是O(n),其排序速度是超过任何比较算法的,但是运用场景比较局限,只有当k不是很大,并且序列比较集中时,计数排序是一个很有效的排序算法。#include <stdio.h>#include <stdlib.h>void print_array(int *a, int len) { for (int i = 0; i < len; i++)

2020-12-22 17:46:18 125

原创 《穷爸爸富爸爸》 —— 罗伯特访问记录

思维方式决定人生轨迹Do the rich people cringe and say “Don’t tell them that. Robert!”.富人们肯定会焦虑地说,“别告诉他们,罗伯特!“。“Yes,yes。Don’t tell people what you know. Keep them poor.”“是的 ,没错。不要告诉他们,让他们一直穷下去。”The moment I pay you. You think like an employee.我付你工资的那一刻,你的思维就被设定

2020-12-22 17:39:58 573 2

原创 排序算法-堆排序

引用&推荐:https://www.bilibili.com/video/BV1Eb41147dK堆定义堆,是通常是一个可以被看做一棵完全二叉树的数组对象。堆特性堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。完全二叉树的数组表示时的特性完全二叉树可以使用数组表示,树的节点层次遍历存放到数组,则会有如下关系:若父节点表示为 i,则子节点可以表示为:left = 2 * i + 1;right = 2 * i + 2; 逆推,如子节点为i,则父.

2020-12-21 15:43:09 130

原创 排序算法-快速排序

快速排序-比较交换类排序算法复杂度:最好=O(nlog n) 最差=O(n2) 平均=O(nlog n)算法稳定性:不稳定算法思想:分而治之#include <stdio.h>void print_array(int *a, int len) { for (int i = 0; i < len; i++) { printf("%d ", a[i]); } printf("\n");}int getIndex(int *a, int

2020-12-18 17:00:49 76 1

原创 排序算法-希尔排序

希尔排序-不稳定插入排序时间复杂度:平均=O(n1.3) 最坏=O(n2) 最好=O(n)#include <stdio.h>void print_array(int *a, int size) { for (int i = 0; i < size; i++) { printf("%d ", a[i]); } printf("\n");}/** * 希尔排序-不稳定插入类排序 */void shellSort(int *a

2020-12-18 15:31:16 108 1

原创 排序算法-归并排序

#include <stdio.h>#include <stdlib.h>/**没有利用空间的合并*/void insertMerge(int *a, int left, int mid, int right) { int i = mid+1, j, t; while ( i <= right) { // 把右边的值插入排序待左边 t = a[i]; j = i; while ( j > left

2020-12-17 18:24:59 87

原创 postgresql 使用 pg_stat_activity获取链接数

pg_stat_activity 获取数据库的状态 \d+ pg_stat_activity View "pg_catalog.pg_stat_activity" Column | Type | Collation | Nullable | Default | Storage | Description------------------+----------------

2020-12-16 17:11:58 497 2

原创 排序算法-选择排序

#include <stdio.h>void print_array(int *a, int size) { for (int i = 0; i < size; i++) { printf("%d ", a[i]); } printf("\n");}void selectSort(int *a, int size) { int t; while ( --size ) { //从右到左,从大到小 fo

2020-12-16 16:19:49 83

原创 DNS学习笔记

互联网为什么要使用域名?在互联网中,使用IP地址作为机器的绝对地址行不通,原因如下:不好记忆。机器多时,不容易记住每台机器的域名。计算机更换IP。当机器更换了IP时,一台机器还行,人脑还可以记过来,多机都换,根本记不过来。什么是DNSDNS(Domain Name System) 是域名系统的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名或域名转换为IP地址的工作。DNS说白了一个“翻译官”。域名结构根 root

2020-12-11 15:54:13 111

炫酷滑动效果(css/jquery)

使用css与jQuery完成简单的页面滑动效果【自制】 使用css与jQuery完成简单的页面滑动效果【自制】 使用css与jQuery完成简单的页面滑动效果【自制】

2015-10-29

postgresqlAPI

postgresqlAPI、postgresql 中文学习文档 、postgresql 使用说明、postgresql 帮助说明

2014-12-06

Visual C++6.0(vc6.0)助手

这个助手可以帮助程序员更快的编写代码,可以提高速率! 这个助手可以帮助程序员更快的编写代码,可以提高速率! 这个助手可以帮助程序员更快的编写代码,可以提高速率!

2014-08-07

空空如也

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

TA关注的人

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