自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 框架结构

文章目录什么是安卓系统安卓系统框架Linux内核 设备驱动程序层(Linux Kernel):硬件抽象层 (HAL) :原生 C/C++ 库:Android Runtime:应用程序框架层(Application FrameWork):应用程序层(Applications):Java API 框架系统应用后缀简介什么是安卓系统Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google公司和开放手机联盟领导及开发。尚未有统一中文名称,

2021-03-29 16:08:44 491

原创 [每日一题]125:最少交换次数(小米OJ - 8)

文章目录题目描述题解思路题目描述给出一个无序数列,每次只能交换相邻两个元素,求将原数列变成递增数列的最少交换次数。 如:数列:2,3,1,交换3和1后变成:2,1,3;交换1和2之后变成:1,2,3。总共交换2次。输入:逗号隔开的正整数数列输出:正整数输入样例2,3,1输出样例2题解思路可以转换成求逆序数对代码实现:#include <bits/stdc++.h>using namespace std;int main(){ strin

2021-03-27 02:27:49 594

原创 [每日一题]124:第一个缺失正数

文章目录题目描述题解思路题目描述给出一个无序的数列,找出其中缺失的第一个正数,要求复杂度为 O(n) 如:[1,2,0],第一个缺失为3。 如:[3,4,-1,1],第一个缺失为2。输入:1,2,0输出:3输入样例:1,2,03,4,-1,1-1,-3,-51,2,3-1,-10,0输出样例:32141题解思路主要就是针对输入字符串格式的转换,剩下的就比较简单对数组排序,从前往后遍历,看是否有对应正数代码实现:#include <bits/s

2021-03-26 16:42:18 142

原创 笔试:对输入字符串格式的转换

文章目录string 转 vector\  在一些公司的笔试过程中,它不一定是给你一个函数接口,让你去实现某个功能,他可能是让你自己去实现输入、输出,包括某些功能的实现。  本篇博文主要就是针对输入格式的一些转换,为了方便大家在笔试过程中更加的顺利。string 转 vector<int>代码实现:#include <bits/stdc++.h>using namespace std;int main() { string s; while (ci

2021-03-26 16:30:40 160

原创 [每日一题]123:交叉队列(小米OJ - 6,递归)

文章目录题目描述题解思路题目描述给出三个队列 s1,s2,s3 ,判断 s3 是否是由 s1 和 s2 交叉得来。 如:s1 为 aabcc , s2 为 dbbca。 当 s3 为 aadbbcbcac 时,返回 true(即将 s1 拆成三部分: aa,bc,c 分别插入 s2 对应位置) 否则返回 false。输入:aabcc,dbbca,aadbbcbcac输出:true题解思路先分割输入字符串再递归判断,尤其是对两个字符串的字母都与当前字符串的字母相同时代码实现:b

2021-03-26 16:10:54 171

原创 [每日一题]122:分发糖果

文章目录题目描述题解思路方法一:二次遍历方法二:常数空间遍历题目描述老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入:[1, 0, 2]输出:5解释:你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入:[1, 2, 2]输出:4解

2021-03-23 14:42:00 444

原创 Python 异常处理

文章目录python标准异常什么是异常?异常处理使用except而不带任何异常类型使用except而带多种异常类型try-finally 语句异常的参数触发异常用户自定义异常python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。异常处理断言(Assertions)python标准异常异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardIn

2021-03-22 20:06:46 330

原创 Python I/O函数(不只是文件读写)

文章目录打印到屏幕读取键盘输入raw_input函数input函数打开和关闭文件open 函数File对象的属性close()方法读写文件write()方法read()方法文件定位重命名和删除文件rename() 方法remove()方法Python里的目录:mkdir()方法chdir()方法getcwd()方法:rmdir()方法文件、目录相关的方法打印到屏幕最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式。此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标

2021-03-22 16:10:44 240

原创 [每日一题]121:加油站

文章目录题目描述题解思路方法一:一次遍历题目描述在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1:输入: gas = [1,2,

2021-03-22 13:24:33 167

原创 Python 模块

文章目录import 语句Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和 Python 语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。例子下例是个简单的模块 support.py:def print_func( par ): print("Hello : ", par) returnimp

2021-03-22 11:36:46 87

原创 Python 函数

文章目录定义一个函数函数调用参数赋值可更改(mutable)与不可更改(immutable)对象传可变对象实例参数必备参数关键字参数默认参数不定长参数匿名函数return 语句变量作用域全局变量和局部变量函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码

2021-03-20 19:30:07 596

原创 Python 日期和时间

文章目录什么是时间元组?获取当前时间获取格式化的时间格式化日期获取某月日历Time 模块日历(Calendar)模块其他相关模块和函数Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。时间间隔是以秒为单位的浮点小数。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获

2021-03-20 15:44:39 117

原创 Python:import,from...import,import...as 的区别

在 Python 中 import 或者 from…import 是用来导入相应的模块。举个例子:importimport datetimeprint(datetime.datetime.now())运行代码如下:2021-03-18 11:55:27.629295实现输出系统当前时间,是引入整个datetime包,然后再调用datetime这个类中的now()方法。from…import以上代码实现功能也可以用以下代码实现:from datetime import dat

2021-03-18 11:59:58 302

原创 [每日一题]120:矩阵置零

文章目录题目描述题目解答方法一:常数空间题目描述给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]]示例 2:输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5]]输出: [ [0,0,0,0], [0,4,5,0],

2021-03-17 21:31:51 276

原创 Python 语句

文章目录条件语句循环语句while 循环(可在循环中使用 else 语句)for 循环(可在循环中使用 else 语句)嵌套循环循环控制语句break 语句continue 语句pass 语句条件语句Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:Python 不支持 switch 语句,因此判断结果对应多种执行方式时,只能用 elif 来做num = 5if num == 3: # 判断num的值

2021-03-16 20:14:01 143

原创 Python 运算符

文章目录什么是运算符?算术运算符比较运算符赋值运算符位运算符逻辑运算符成员运算符身份运算符运算符优先级什么是运算符?举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。Python语言支持以下 八种 类型的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级接下来让我们一个个来学习Python的运算符。算术运算符以下假设变量: a=10,b=20:运算符描述实例+

2021-03-16 18:02:37 89

原创 Python 变量类型

文章目录Python 中的变量赋值多个变量赋值Python 中的数据类型Python 数字(Number)Python 字符串(String)Python 列表(List)Python 元组(Tuple)元组的内置函数Python 字典(Dictionary)Python 数据类型转换创建变量就意味着会在内存中开辟空间,同时变量必须被赋值才会创建。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。Pyth

2021-03-16 16:47:36 379 4

原创 Python 基础语法(2)

文章目录Python注释Python空行print 输出输入小结同一行显示多条语句多个语句构成代码组命令行参数Python注释python中单行注释采用 # 开头。实例# -*- coding: UTF-8 -*-# 第一个注释print ("Hello, Python!") # 第二个注释输出结果:Hello, Python!注释可以在语句或表达式行末:name = "Madisetti" # 这是一个注释python 中多行注释使用三个单引号(’’’)或三个双引号(""

2021-03-16 14:12:51 742 2

原创 Python 基础语法(1)

文章目录Python 标识符Python 保留字符行和缩进多行语句Python 引号Python 标识符在 Python 中,所有标识符可以包括 英文、数字以及下划线(_),但不能以数字开头。Python 中的标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Py

2021-03-16 11:11:32 241

原创 Python 入门

文章目录Python 简介Python 发展历史Python 特点用 python 向世界问好Python 中文编码Python 简介Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python 是交互式语言: 这意味着,您可以在一个 Py

2021-03-15 20:01:53 124

原创 [每日一题119]:格雷编码

文章目录题目描述题解思路题目描述格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有效的格雷编码序列。00 - 010 - 211 - 3

2021-03-15 11:21:42 225

原创 [每日一题]118:大数相减

文章目录题目描述题解思路:题目描述两个长度超出常规整形变量上限的大数相减,请避免使用各语言内置大数处理库,如 Java.math.BigInteger 等。输入:有 N 行测试数据,每一行有两个代表整数的字符串 a 和 b,长度超过百位。规定 a>=b,a, b > 0。 测试结果可以用 linux 小工具 bc进行测试是否正确。输出:返回表示结果整数的字符串。输入样例:123123123781273987895133123123123781273987895133123123

2021-03-12 18:02:11 188

原创 C / C++:const 关键字的作用

文章目录C与C++中 const 关键字有什么区别使用 const 提高函数的健壮性用 const 修饰函数的参数用 const 修饰函数的返回值C与C++中 const 关键字有什么区别C语言中const的用法:const修饰的变量是只读的,本质还是变量。const修饰的局部变量在栈分配空间,这里举一个例子:#include <stdio.h>#include <stdlib.h>int main() { const int c = 0; int *p =

2021-03-11 15:29:09 474

原创 [每日一题]117:爬楼梯

文章目录题目描述题解思路方法一:递归方法二:迭代题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶题解思路设

2021-03-10 20:50:43 208

原创 [每日一题]116:加一

文章目录题目描述题解思路代码一:代码二:题目描述给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits =

2021-03-10 20:11:54 165

原创 数组和指针的对比

  C++/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。  数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变;数组实际上就是一个常量指针,例如:  char ar[10]; 就相当于char * const ar; 即数组名对应一块空间, 该数组名不能指向其他空间。  指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险

2021-03-09 21:51:11 413 5

原创 [每日一题]115:旋转图像 —— 旋转矩阵

文章目录题目描述题解思路方法一:使用辅助数组方法二:原地旋转方法三:翻转代替旋转题目描述给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]示例 2:输入:matrix = [[5,1,9,11],[2,4,

2021-03-09 20:40:06 901

原创 [每日一题]114:接雨水

文章目录题目描述题解思路方法一:暴力方法二:动态编程(方法一的优化)方法三:栈题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 示例 2:输入:height = [4,2,0,3,2,5]输出

2021-03-08 20:13:49 147

原创 [每日一题]113:有效的数独

vector<int> wow(9,0); int mux1; int mux2; int mux3; int box_index; for(int i=0;i<9;i++){ for(int j=0;j<9;j++){ if(board[i][j] == '.'){ continue;

2021-03-07 19:59:04 789

原创 [每日一题]112:排列序列

文章目录题目描述题解思路方法一:调用 STL 库题目描述给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。示例 1:输入:n = 3, k = 3输出:"213"示例 2:输入:n = 4, k = 9输出:"2314"示例 3:输入:n = 3, k = 1输出:"123"

2021-03-05 15:20:18 409 1

原创 [每日一题]111:下一个排列

文章目录题目描述题解思路方法一:两遍扫描方法二:使用 STL 库(没有意义)题目描述实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只允许使用额外常数空间。示例 1:输入:nums = [1,2,3]输出:[1,3,2]示例 2:输入:nums = [3,2,1]输出:[1,2,3]示例 3:输入:nums = [1,1,5]输出:[1,5,1]

2021-03-04 16:58:05 208 2

原创 [每日一题]110:移除元素

文章目录题目描述题解思路:题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度

2021-03-04 15:37:34 183 2

原创 [每日一题]109:四数之和

文章目录题目一方法一:排序 + 双指针题目二题目一描述如下:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例 1:输入:nums = [1,0,-1,0,-2,2], target = 0输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]示例 2:

2021-03-03 23:38:35 179 2

原创 [每日一题]108:最长连续序列(小米OJ - 4)

文章目录题目描述题解思路方法一:(非进阶)方法二:(进阶)题目描述给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。进阶:你可以设计并实现时间复杂度为 O(n) 的解决方案吗?示例 1:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。示例 2:输入:nums = [0,3,7,2,5,8,4,6,0,1]输出:9题解思路方法一:(非进阶)复杂度分

2021-03-02 08:18:22 267

空空如也

空空如也

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

TA关注的人

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