做做leetcode01
16 - 最接近的三数之和
给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。
返回这三个数的和。
假定每组输入只存在恰好一个解。
例1:
123输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。
例2:
12输入:nums = [0,0,0], target = 1输出:0
思路
采用双指针
my solution
123456789101112131415161718192021222324252627282930313233343536class Solution { public int threeSumClosest(int[] nums, int target) { int result = nums[0] + nums[1] + nums[2]; Arrays.sort(nums); for (int i ...
DevOps期末复习
DevOps导论 - 开场白
课程实践I 10%(暂定)
课程实践II 20%
课程实践III 20%
考试50% (暂定)
DevOps导论 - 第一讲 - 从凤凰项目谈起
DevOps渊源
定义:DevOps -> Development Operations
起源:是Patrick Debois在2009年提出的一种方法论——能否像敏捷开发一样来做运维?
作用:加强了开发,测试和运维之间的沟通协作, 打破了传统团队之间的壁垒,通过实现自动化和架构变更,从而提高研发效率,节省成本,最终更快捷地实现交付产品,并且提高产品质量。
软件工程发展趋势
演化发展史
改进措施
变更可视化
工具导入和过程落实的问题(看板)
解放资源约束
Brent的问题——保护、共享和容忍
安全审计
角色转变——共同目标
运维自动化/工具化
三步工作法
第一步
概念
充分理解工作流(开发-运维-客户)
流量最大化(小批量、缩小任务间隔、缺陷控制)
不断为了整体目标的实现而优化工作流
部分关键实践与方法
持续构建、集成以及交付;
按需创建环境; ...
嵌入式系统概论期末复习
嵌入式系统概论复习
lecture 1 - 嵌入式系统概述
嵌入式系统的定义
“嵌入式系统”实际上是“嵌入式计算机系统”的简称
IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置” (Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
该定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置
国内普遍被认同的定义:嵌入式系统是“以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统”。
嵌入式系统就是一个具有特定功能或用途的隐藏在某种设备中的计算机软硬件集合体,没有固定的特征形状。
嵌入式系统三要素
嵌入性:嵌入到对象体系中,有对象环境要求
专用型:软、硬件按对象要求设计、裁减
计算机:实现对象的智能化功能
无处不在的嵌入式
CPS
信息物理系统,Cyber-Physical Sys ...
MISE_hw4_体系结构作业
MISE_hw4_体系结构作业
本文用以记载在完成MISE体系结构作业时遇到的一些踩坑和困难。
操作系统:macOS(m1芯片)
使用到的部分网址:
文档工程:
凤凰架构:https://icyfenix.cn
Vuepress 支持的文档工程:https://github.com/fenixsoft/awesome-fenix
前端工程:
Mock.js 支持的纯前端演示:https://bookstore.icyfenix.cn
Vue.js 2 实现前端工程:https://github.com/fenixsoft/fenix-bookstore-frontend
后端工程:
Spring Boot 实现单体架构:https://github.com/fenixsoft/monolithic_arch_springboot
https://nqq5jc94uf.feishu.cn/docx/FhujdzTCEouYiwxaxNfcZEF9nsb?from=from_copylink
Kubernetes 为基础设施的微服务架构:https://git ...
GO学习第二章
GO学习第二章
数据类型
布尔型
布尔型的值只可以是常量 true 或者 false
1var b bool = true
数字类型
Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码
字符串类型
Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本
派生类型
指针类型(Pointer)
数组类型
结构化类型(struct)
Channel 类型
函数类型
切片类型
接口类型(interface)
Map 类型
变量
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。
声明变量的一般形式是使用 var 关键字,格式为
1var identifier type
可以一次声明多个变量
1var identifier1, identifier2 type
变量声明
指定变量类型,如果没有初始化,则变量默认为零值
数值类型(包括complex64/128)为 0
布尔类型为 false
字符串为 “”(空字符串)
以下几种类型为 nil
123456va ...
GO学习第一章
GO学习第一章
运行第一个go程序
假设我们拥有一个名为hello.go的文件,我们该如何运行这段代码
终端
method 1
1$ go run hello.go
method 2
12$ go build hello.go$ ./hello
使用GoLand
在程序的左侧栏有一个绿色小三角,点击即可运行
最简单程序的结构
包声明
引入包
函数
变量
语句 & 表达式
注释
举例说明
1234567891011package main //第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。import "fmt"//告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。func main() { //程序开始执行的函数 /* 这是我的第一个简单的程序 ...
OS慕课选择题
OS慕课选择题
本文请在电脑端查看,手机端会出现无法适应屏幕大小情况
编译原理14-ir-control
中间代码生成——控制流语句的翻译 II
如何生成更短、更高效的代码?
先看我们已经实现的两个示例
在我们生成的代码中,会出现多余的br指令
解决方法
直接用布尔表达式改变控制流
使用控制流跳转间接表明布尔表达式的值
父节点为子节点准备跳转指令的目标标签
子节点通过继承属性确定跳转目标
具体实现
继承属性 B.true B.false S.next 指明了控制流的跳转目标
P→SP \rightarrow SP→S
S.next 为语句 S 指明了跳出S的目标
S→assignS \rightarrow assignS→assign
代表了表达式的翻译,包括数组引用
IF 语句
红线框出来的的语句,在理解上应该拆分为两句话,即
B.false = S.next,即B为false时,goto S.next
S1.next = S.next,即S1执行完,goto S.next
EXAMPLE
1234if(true)//B //S1 if(false)//B11 assign//S11
S.next = L0
B.true = L1
...
Compilers_Lab4_准备工作
Compilers_Lab4_准备工作
在我们进行Lab4的环境配置时,完成LLVM与Clang的安装后,文档引入javacpp中与LLVM相关的包,是在pom.xml文件中添加依赖,然而我们的lab中并不存在这样的文件,所以将解决方法记录在博客上,方法感谢学长留下的资料。
步骤
参考文件
首先我们的lab目录大致如下
.
|── Lab.iml
|── Makefile
|── Makefile.git
|── src
|── 201200000.pdf
|── submit.sh
└── tests
我们在lab目录下创建pom.xml,并在其中写入如下代码
123456789101112131415161718192021222324<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc ...