avatar
文章
216
标签
38
分类
24
首页
文章
  • 归档
  • 分类
  • 标签
  • 说说
摄影集
友链
留言板
关于我
DeepThinking深思
搜索
首页
文章
  • 归档
  • 分类
  • 标签
  • 说说
摄影集
友链
留言板
关于我

DeepThinking深思

Go 中是否使用make创建slice的区别
发表于2023-10-05|编程语言Golang
go slice 的make 会创建默认长度 且值为0 的slice 在 Go 语言中,可以使用 make 函数来创建切片(slice)。切片是一种动态数组,它可以在运行时动态增长或缩小。以下是使用 make 和不使用 make 创建切片的主要区别: 使用 make 创建切片: 12// 使用 make 创建切片,指定长度和容量 slice := make([]int, 5, 10) 指定长度和容量: 使用 make 创建切片时,您需要明确指定切片的长度和容量。长度是切片当前包含的元素数量,容量是底层数组的大小,通常大于或等于切片的长度。指定容量可以提高性能,因为它可以减少重新分配内存的次数。 底层数组初始化: 使用 make 创建切片时,它会自动初始化底层数组,将切片的元素都设置为其类型的零值。在上面的示例中,slice 是一个包含5个零值整数的切片。 不使用 make 创建切片: 12// 不使用 make 创建切片,长度为 5 slice := []int{1, 2, 3, 4, 5} ` 自动确定长度: 不使用 make...
JetBrians 全家桶设置文件header
发表于2023-10-05|综合工具
前言我们在写代码的时候一般会在文件的头部添加header,包括copyright 时间,和作者和描述等信息。接下来我们就来看看怎么添加。 先看下效果图 操作步骤1. file- settings 找到Copyright - CopyrightProfiles点击+ 号,新建一个name 为“copyRight” 的profile profile 的内容粘贴下面的问文本, 替换自己的名字 1234Copyright (c) $originalComment.match("Copyright \(c\) (\d+)", 1, "-", "$today.year")$today.year YOUR NAME. All rights reserved. Author: YOUR NAME Description: Date: $today 点击Copyright 添加刚才的profile 点击应用即可 右键-generate-Copyright 插入
Leetcode1603. 设计停车系统
发表于2023-09-27|算法LeetCode
Problem: 1603. 设计停车系统 [TOC] 思路 首先,读清楚题目,需要分别记录3个车的剩余车位数量,并且要在addCar的时候进行判空,这就需要用到查找,在车类型中查找,这里我们可以使用map或数组。因为车的类型是连续的,不是稀疏的。我们更建议使用数组。 虽然这是一道简单的设计题,但是我们需要以小见大,认真思考。设计题就是理解题目意思——>建模->选择合适的数据结构-> 优化算法。一定要认真读题,先规划和设计好,再动收,一定要多练习,保持手感。需要注意的是:在 Go 语言 中,new 是一种创建变量的方式。通过 new(T) 可以创建类型为 T 的变量,初始值为 T 类型的零值,返回值为其地址(地址类型是 *T),这样在Constructor 只用返回值,而不是指针,但是在 AddCar 函数中,我们使用了指向 ParkingSystem 的指针接收器(receiver),保证可以修改new 出来的结构体。 解题方法 lastCar [3]int 添加上边的数组 复杂度 时间复杂度: 添加时间复杂度, 示例:...
Linux非root用户通过X11运行图形界面程序-以Rstudio为例
发表于2023-09-24|综合工具
问题由于使用单位或者学校的服务器,我们一般都没有root权限,导致一些Server版本的软件不能安装(例如数据分析领域的Rstudio-Server,需要root权限,新增端口给Rstudio-Server的web服务)。但大家有没有发现,我们自己在本地的PC上安装桌面版本的Rstudio是并不要管理员权限的,是因为我们不需要开放端口,Rstudio直接在显示在图形界面上了。那么理论上,我们可以在服务器上,通过模拟服务器的图形界面来直接运行桌面版的Rstudio。而这个模拟服务器的图形界面就可以使用X11! X11是一个用于在Unix和类Unix系统上实现图形用户界面的标准协议和窗口系统。它通过分布式性质允许在远程服务器上运行图形应用程序,并将图形数据传输到本地计算机上显示,从而实现了图形界面的远程访问和显示。 操作步骤 使用mobaxTerm 登录对应服务器,需要显示X11 打开 创建虚拟环境1234567# 创建虚拟环境 conda create -n rstudio# 安装Rconda activate rstudio # 进入创建好的环境变量conda...
Linux 将用户追加到对应用户组
发表于2023-09-17|技术栈Linux
前言本文目的是为了将多个用户设置同组用户,并且同组内用户新建文件的默认权限是同组内用户可读写。 解决方案 将test 添加到GroupA 1234usermod -a -G GroupName UserName# 例如将test 追加到GroupAusermod -a -G GroupA test 修改新建文件的默认权限 在.bashrc 里添加 1umask 003 // 文件夹具体权限 则为 777 - 003 = 774 (rwxrwxr--) 文件默认权限为 666 - 003 = 663(rw-rw-r--) 1source ~/.bashrc
C++ 结构化设计
发表于2023-09-13|编程语言C++
结构化程序设计自顶向下的设计 是自顶向下的分解 -> 找子问题 ->公共的问题->抽出来子问题 实现阶段自顶向上的实现,实现一个一个子问题 程序由三种基本结构组成,顺序-分支-循环 例子
clash在终端设置代理
发表于2023-09-12|综合工具
前言github 提交代码总是失败,还是老老实实使用VPN吧。但是VPN打开了,git终端命令还是不行,原来是要进行终端代理设置。一起来看看吧! 开启代理前置条件:手动开打 clash 等VPN软件 12export http_proxy=http://127.0.0.1:7890export https_proxy=http://127.0.0.1:7890 对应的网址是在settings- static-Host; 对应port 为General-Prot clash Verge复制环境变量 去github 执行 12export https_proxy=http://127.0.0.1:7897 http_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897 取消代理12unset http_proxyunset http_proxy git 里设置开启代理 alias 命令别名新建 .bashrc123456789101112131415161718cd ~vi .bashrc#...
leetcode 2594修车的最少时间
发表于2023-09-07|算法LeetCode
2594. 修车的最少时间 - 力扣(LeetCode) 思路能力值为 r 的机械工可以在 t= r * n2 分钟内修好 n 辆车。可以看到 n = 根号(t/r), t 对于car 的数量是单调增的,所以可以适用二分法来不断逼近car 的数量。 12345678910111213141516171819202122func repairCars(ranks []int, cars int) int64 { l , r := 1, ranks[0] * cars * cars var check = func(m int) bool { cnt := 0 for _, x := range ranks { cnt += int(math.Sqrt(float64(m / x))) } return cnt >= cars } for l < r { ...
设计模式-抽象工厂
发表于2023-09-03|架构设计设计模式
抽象工厂模式结构多个工厂模式; 有抽象工厂(现代工厂,和古代工厂),具体工厂(现代工程和古代风格工厂实现),抽象产品(接口 ,椅子和桌子) 和具体产品(实现具体的桌子和椅子)
设计模式-工厂方法模式
发表于2023-09-03|架构设计设计模式
网站链接:工厂方法设计模式 (refactoringguru.cn) 简介工厂方法模式 她是一种创建型设计模式,其在父类中提供一种船舰对象的方法,允许子类决定实例化对象的类型。 简单工厂‘简单工厂模式’,也就是说,到底要实例化谁,将来会不会增加实例化的对象,比如增加开根运算,这是很容易变化的地方,应该考虑用一个单独的类来做这个创造实例的过程,这就是工厂简单工厂就是在需要的时候, 创建对应的类. 每个类都相互独立,互不影响, 如果增加代码,不会编译之前的类, 减少编译时间. 工厂方法模式结构不同的类实现相同的动作,例如运输等 产品 (Product) 将会对接口进行声明。 对于所有由创建者及其子类构建的对象, 这些接口都是通用的。 具体产品 (Concrete Products) 是产品接口的不同实现。 创建者 (Creator) 类声明返回产品对象的工厂方法。 该方法的返回对象类型必须与产品接口相匹配。 你可以将工厂方法声明为抽象方法, 强制要求每个子类以不同方式实现该方法。 或者, 你也可以在基础工厂方法中返回默认产品类型。 ...
1…161718…22
avatar
Lei Qi
记录、总结、复盘、分享
文章
216
标签
38
分类
24
Follow Me
公告

欢迎关注公众号:DeepThinking深思,本站的文章会同步发布在微信公众号,方便推送~

最新文章
【Github Trending 日报】深度解析 - 2026/05/122026-05-12
【Github Trending 日报】深度解析 - 2026/05/112026-05-11
【Github Trending 日报】深度解析 - 2026/05/102026-05-10
【Github Trending 日报】深度解析 - 2026/05/092026-05-09
【Github Trending 日报】深度解析 - 2026/05/082026-05-08
分类
  • AI3
    • AI工具1
  • 工具1
  • 技术1
  • 技术栈19
    • DevOps1
    • Docker1
    • Git7
    • Linux5
    • 网络4
    • 自动化1
  • 架构设计3
    • 设计模式3
  • 算法76
    • LeetCode75
    • 速刷记录1
  • 综合80
    • 工具79
    • 比赛1
  • 编程语言33
    • C++1
    • Golang27
    • Python3
    • 前端2
归档
  • 五月 2026 12
  • 四月 2026 27
  • 三月 2026 20
  • 二月 2026 1
  • 十一月 2025 3
  • 八月 2025 1
  • 七月 2025 5
  • 六月 2025 23
网站信息
文章数目 :
216
本站访客数 :
本站总浏览量 :
最后更新时间 :
Copyright © 2022-Lei Qi | leiqi.top
搜索
数据加载中