- 博客(58)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 打开轮盘锁问题(LeetCode)的分析总结及进一步提问
打开轮盘锁问题分析总结,及进一步提问:请给出一组最小步数下的号码序列组合。#广度优先搜索BFS
2024-08-05 16:31:59 883
原创 二叉树的基本遍历方法总结(Java)
二叉树的深度优先遍历(3种)的递归和迭代方法,二叉树的广度优先遍历方法,最大深度计算方法,最小深度计算方法。
2024-08-05 11:11:16 1014
原创 Python程序加密并打包为可执行文件
可以将Python应用程序及其所有依赖项捆绑到一个包中。用户可以在不安装Python解释器或任何模块的情况下运行打包的应用程序。PyInstaller支持Python 3.8及更新版本,并正确地捆绑了许多主要的Python包,如numpy、matplotlib、PyQt、wxPython等。针对Windows、MacOS X和Linux进行了测试。然而,它不是一个交叉编译器;要制作Windows应用程序,您可以在Windows上运行PyInstaller。要制作Linux应用程序,请在Linux上运行它。
2024-07-09 11:52:56 1694
原创 Kotlin协程中调度器Dispatchers的介绍
在 Kotlin 的协程中,Dispatchers 是用于指定协程运行的调度器(dispatcher),它决定了协程在哪个线程或线程池中执行。Dispatchers 包含了几种类型,每种类型都有不同的应用场景。在选择 Dispatchers 类型时,需要根据任务的特性和执行环境来进行选择,以确保协程能够在合适的线程中执行,从而提高应用的性能和响应性。
2024-05-10 10:56:42 701
原创 Python实现检测下载链接是否有效的方法
'stream’ 参数是 Python requests 库中 get() 方法的一个可选参数,用于控制是否立即下载响应的内容。当 stream 参数设置为 True 时,表示以流的形式获取响应内容,而不会立即下载整个响应主体。通常情况下,当你使用 get() 方法获取一个较大的响应内容时,如果立即下载整个响应主体,会占用大量内存。但是,如果你将 stream 参数设置为 True,则可以通过迭代器逐行读取响应内容,这样可以节省内存空间,并且适用于处理大型响应或需要长时间下载的内容。
2024-05-10 10:06:45 661
原创 Android app通过jcifs-ng实现Samba连接共享文件夹
Android端使用Samba连接共享文件夹,下载或上传文件的功能实现。如果你是用jcifs工具包,那么你要注意jcifs-ng 和 jcifs 支持的SMB版本区别。这里有关于jcifs-ng的使用介绍。
2024-05-09 15:29:07 2004 1
原创 【Android Audio Focus 音频焦点】
Android 中的音频焦点(Audio Focus)是一种机制,用于管理应用程序之间的音频资源竞争。当多个应用程序同时请求使用音频设备时,通过音频焦点机制可以确保最终用户的体验不受影响。两个或两个以上的 Android 应用可同时向同一输出流播放音频。系统会将所有音频流混合在一起。虽然这是一项出色的技术,但却会给用户带来很大的困扰。为了避免所有音乐应用同时播放,Android 引入了“音频焦点”的概念。一次只能有一个应用获得音频焦点。
2023-12-07 16:59:59 3000
原创 Android系统APP通过adb安装更新的方法
系统APP需要安装在系统分区(例如/system/app或/system/priv-app)。想要吧apk文件推送到系统分区需要Root权限,一般情况下,普通用户无法直接写入系统分区。
2023-07-25 14:38:16 2652
原创 Android.mk 和 CMakeLists.txt 的转换规则
例如,Android.mk 中的 LOCAL_MODULE 指令通常会被转换成 CMakeLists.txt 中的项目名称。在 Android.mk 中,你可以使用 LOCAL_C_INCLUDES 和 LOCAL_CPP_INCLUDES 指令来声明头文件的路径。在 Android.mk 中,你可以使用 LOCAL_SRC_FILES 指令来声明要编译的源代码文件。需要注意的是,在 CMake 中,库的名称通常是去掉前缀和后缀的纯库名,例如 libfoo.so 库在 CMake 中的名称为 foo。
2023-03-14 21:26:57 1977
原创 实现数字到Excel中列序号的转换
Python实现:将给定的列数字转换为Excel中对应的列序号(字母名称)的功能。同时比较ChatGPT给出的代码方案。
2023-01-19 21:42:09 5683
原创 从蒙德里安的《纽约城一号》到我的《北京城七号》
抽象画派蒙德里安的大作《纽约城一号》被倒挂几十年?我用Python的turtle模块画一幅《北京城七号》。
2022-11-09 23:09:33 425
原创 HashMap扩容机制(JDK1.8)-- 源码鉴赏与启发
1.介绍HashMap的几个重要的变量2.HashMap扩容机制是什么?3.为什么是2的n次幂?4.我们可以获得什么启发?
2022-03-25 22:15:46 2324
原创 RPA-关于更新Excel中图表的数据区域,以及选中图表的操作
聊聊在RPA流程发开中,遇到需要对Excel模板中的图表更新数据区域,并且设置某个图表为选中状态(以方便复制到邮件正文中)这样的需求时,有什么解决方案。
2021-04-27 15:17:23 1437
原创 Java算法之『 快速排序(递归)』
一、算法思想——分治而为1、【二分】在待排数据中找一个锚点(或者分治点),一般去第一个数据即可。把剩余的数据,与该锚点比较,小于锚点的排在锚点前面,大于等于锚点的排在锚点后面。2、【递归】经过第一步,已经把数据分成了除锚点外的两部分:锚点前的部分小于锚点;锚点后的部分大于等于锚点。应用递归思想,把这两部分分别看做两个待排数组,分别应用快排算法。二、如何“二分”要达到在数组或列表中把数据分成两部分,我们使用两个“指针”完成数据检查和交换。我们叫它【双指针交换法】(假设锚点是索引为0处.
2021-01-26 15:06:23 854 2
原创 RPA-关于Excel写入大量数据时出现的异常——Excel.WriteRange 调用出错:写入Excel区域失败
使用Uibot构建RPA机器人时,发现的关于Excel写入大量数据时的报错异常分析与总结。
2021-01-11 21:24:41 4931
原创 关于Android Studio设置快捷键,一键格式化代码并保存
编写代码文件时,经常需要保存(嗯!没错,这是个好习惯),然而格式化代码也是个好习惯,尤其是在多人开发的场景下,更需要格式化自己的代码。本文介绍一个方式可以把【格式化代码】和【保存】两个步骤合二为一,用一个快捷键搞定的方法。
2020-11-16 18:38:21 5302
原创 关于Android Studio新建Java文件时,自动添加类注释的设置
Android新建类文件时,肯定是需要类注释的,Android Studio稍加设置即可在创建类文件时,自动添加类注释。
2020-11-16 17:45:57 1290
原创 一个研究生入学考试的数据结构算法题『 Python实现 』
这是一个某年的研究生入学考试数据结构算法题。需求:把一个数组(列表)中的所有奇数放在所有偶数的前面,要求时间复杂度为O(n),不申请额外的数据空间。
2020-07-03 15:48:58 611
原创 Android自定义View之『 自定义组合控件 』
开发中经常遇到一些使用率很高的组合控件,比如用户头像、名称、背景及点击动画,再比如新闻列表中的新闻图片、标题、时间、评论等,这些都可以“抽象”成一个组合式控件,以便于调用。这里以一个简要的新闻版块信息为例,简要说明一下组合控件的构建流程。效果图:1、在attrs.xml中定义属性,供自定义类InfoBlockView使用:<?xml version="1.0" encoding="utf-8"?><resources> <declare-st.
2020-06-24 14:16:20 787
原创 Android自定义View之『 定义带圆角框的TextView』(继承系统控件方式)
该自定义方式:继承系统控件,再定义。除了这种方式,还有【组合自定义方式】和【继承View自定义方式】,对于这两种,本文暂不涉及。需求:实现一个带圆角边框的文字控件。例如下图:1、新建MyTextView.javapackage com.example.blc.myviewapplication;import android.content.Context;import android.content.res.TypedArray;import android.graphics.
2020-06-20 17:20:00 676
原创 Python算法之『 神秘的堆排序』
1、为什么说堆排序很“神秘”?2、堆排序的Python实现原理。堆排序相较于其他常见的线性排序(冒泡、选择、插入、快排等),它比较不一样(我们不一样,不一样)。堆排序使用“堆”结构进行非线性排序,这里的堆就是数据结构里的二叉树,确切的说应该是【完全二叉树】。说到树结构,可能会想到二分法的“分治”思想,难道跟快排有些许关系?不!快排是使用了二分法的思想,但是没有使用二叉树的组织结构,数据还是线性列表的;而堆排序则不同。
2020-06-09 18:55:15 296
原创 Python算法之『 冒泡、选择、快速排序算法的时间性能比较』
关于冒泡、选择、快速排序算法的Python实现代码,此处不赘述,完整代码请查看:冒泡排序选择排序快速排序问题1:就这三种排序算法而言,快排是否是最优方案?问题2:冒泡和选择的时间复杂度相同,其时间性能表现是否真的相同(或者相差无几)?一、在数组的无序程度较高的情况下下面直接比较它们的时间性能,代码如下:if __name__ == '__main__': import numpy import time t = time.time...
2020-06-05 09:48:27 2274
原创 Python算法之『 简洁的快速排序』
def quick_sort(arr): """ 快速排序(二分法递归排序) 原理:取数组第一个数作为标志,小于它的所有数放在一个列表,大于等于它的放在另一个列表,然后递归处理这两个数组。 递归过程中会把列表越分越小,最小的列表中只包含一个数(二分法思想),小列表排好序后组合成一个列表即可。 时间复杂度:O(nlogn) :param arr: :return: """ if len(arr) > 1: .
2020-06-04 15:52:52 362
原创 Python算法之『 简洁的选择排序』
def select_sort(arr): """ 选择排序 原理:选择一个最大的数,放在最后,在剩余的数中再选择一个最大的数,放在倒数第二个位置,如此反复,直到最后一个也被选择了出来,排序结束。 时间复杂度:O(n^2) :param arr: :return: """ size = len(arr) for i in range(size): # 寻找最小值 min_value = arr[i] .
2020-06-04 15:42:05 331
原创 Python算法之『 简洁的冒泡排序』
def bubble_sort(arr): """ 冒泡排序 原理:从前向后,把相邻的两个数比较,如果前者大则交换,依次向后比较,一轮结束后,选出了最大值(在最后位置)。 在剩余的数列中继续如此操作,这样每次都选出了剩余数中的最大值,供需进行n轮。 时间复杂度:O(n^2) :param arr: :return: """ size = len(arr) for i in range(size): # 共需进行n轮 .
2020-06-04 15:39:06 366
原创 Python的logging模块的使用及思考:服务器程序把每天的log写入到当天的log文件中
需求:一个Python服务器程序,可能会连续运行几个月,现在需要把每天产生的log信息写入到当天的文件中,即每天产生一个log文件。使用logging模块编写程序,第一个版本如下:import loggingimport timeclass LogSingleton(object): @classmethod def get_logger_v1(cls): ...
2020-04-18 15:52:13 680 2
原创 使用pyecharts绘制中国历代都城的分布图
闲来无事,使用Python版本的echarts绘制中国历代(夏~清)都城分布图:图中不同颜色代表不同城市被定为都城的次数。数据不完整,仅仅做个demo吧。注意:不同版本的pyecharts差异较大,最新版本的需要使用 “from pyecharts.charts import Map, Geo”,这里使用的是比较老的版本。from pyecharts import Geo# ...
2020-03-28 14:56:10 1086
65个车牌号字符模板20*40
2014-12-27
读取文件 /proc/[pid]/stat 出错
2016-10-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人