- 博客(23)
- 收藏
- 关注
原创 .gitignore设置失效解决方案
.gitignore在使用git的时候我们有时候需要忽略一些文件或者文件夹。我们一般在仓库的根目录创建.gitignore文件在提交之前,修改.gitignore文件,添加需要忽略的文件。然后再做add,commit,push等但是有时在使用过称中,需要对.gitignore文件进行再次的修改。这次我们需要清除一下缓存cache,才能是.gitignore 生效。具体做法:清除缓存git rm -r --cached .重新trace filegit add .提交和注释git com
2020-06-18 18:35:55 239
原创 使用Git前的配置准备
使用Git前的准备一、在本地配置用户信息配置内容:user.name 和 user.email配置目的:Git用来记录谁做了什么事配置方法:打开Bash进行操作git config #查看本机是否配置了个人信息git config --global user.name "xxx" #定义全局的用户名git config --global user.email "xxx" #定义全局的邮件地址git config --list #查看配置信息二、本地生成SSH Key生成目的:生成公钥和
2020-06-18 18:34:13 228
原创 python文件IO
python文件IO打印到屏幕print读取键盘输入从标准输入读入一行文本,默认的标准输入是键盘raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符)input([prompt]) 函数和 raw_input([prompt]) 函数基本类似但是 input 可以接收一个Python表达式作为输入,并将运算结果返回 input([x*5 for x in range(2,10,2)])[10, 20, 30, 40]打开和关闭文件o
2020-05-18 23:21:20 362
原创 Navicat 导出导入sql脚本文件
Navicat 导出导入sql脚本文件导出左击选择想要导出的表点击数据表右击弹出下拉菜单选择导出SQL文件(Dump SQL File)Dump SQL File -> Structure + Data / Structure Only弹出对话框选择文件目录选择要导出的路径点击[开始]按钮开始导出(Start)关闭对话框完成导出(Close)导入navicat的导入向导里又无导入sql脚本的选项但不是navicat中没有导入sql脚本文件的方法,只是要选择数据库右击执行s
2020-05-12 16:00:03 2298
原创 最常用的排序-快速排序
快速排序应用交换排序基本思想的主要排序方法有:冒泡排序(Bubble sort)和快速排序(Quick sort)。快速排序是对冒泡排序的一种改进,基本思想:通过一趟排序将待排记录分割为独立的两部分,其中一部分记录关键字均比另一部分记录的关键字小,则可对这两部分记录继续进行排序,已达到整个有序。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个 10 个数进行排序。首先在这个序...
2020-05-04 18:25:56 237
原创 邻居好说话-冒泡排序
冒泡排序基本思想交换排序的基本思想是:两两比较待排序记录的关键字,若反序即进行交换,直到没有反序的记录为止。冒泡排序的基本思想是:每次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。每次都是比较相邻的两个数,如果后面的数比前面的数大,则交换这两个数的位置。一直比较下去直到最后两个数比较完毕后,最小的数就在最后一个了。就如同是一个气泡,一步 一步往后“翻滚”,直到最后一位。每将一个...
2020-05-04 01:18:15 171
原创 最快最简单的排序-桶排序
桶排序期末考试完了老师要将同学们的分数按照从高到低排序。满分10分,班上有5个同学,这5个同学分别考了5分、3分、5分、2分和8分。接下来将分数进行从大到小排序,排序后是8 5 5 3 2。我们这里只需借助一个一维数组就可以解决这个问题。首先我们需要申请一个大小为11的数组int a[11]。编号从a[0]a[10]。刚开始的时候,我们将a[0]a[10]都初始化为0,表示这些分数还都没有人...
2020-05-04 01:17:34 668
原创 最长公共子序列(动态规划)
最长公共子序列最长公共子序列(Longest Common Subsequence,简称 LCS)是一道非常经典的面试题目,因为它的解法是典型的二维动态规划,大部分比较困难的字符串问题都和这个问题一个套路,比如说编辑距离。而且,这个算法稍加改造就可以用于解决其他问题,所以说 LCS 算法是值得掌握的。题目就是让我们求两个字符串的 LCS 长度:输入: s1 = "babcde", s2 = ...
2020-05-04 00:20:12 1515
原创 青蛙跳台阶(动态规划)
青蛙跳台阶普通青蛙跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路这个题采用动态规划的思想,它每次只能跳一阶或者两阶台阶;那么它跳到第n阶台阶就有两种情况,从第n-1阶台阶一次跳一阶;或者从n-2阶台阶一次跳两阶;那么依次类推,只要保留跳到n-1和n-2的情况就可以算出跳到n的次数;类似于斐波那契数列。编码...
2020-05-02 23:54:26 830
原创 shell 基本命令
shell 基本命令CLI: 命令行界面(command line interface)目录与文件cd : 切换目录,单点符(.) 表示当前目录,双点符(…)表示当前目录的父目录pwd : 查看当前工作目录ls : 显示当前目录下的文件和目录$ ls -a # 列出目录下的所有目录及文件(包括隐藏文件)$ ls -l # 列出目录和文件的详细信息(包括文件和目录的权限)...
2020-05-02 19:30:51 469
原创 使用tcpdump统计iOS流量
https://developer.apple.com/bug-reporting/profiles-and-logs/TCP Dumpfor iOS第一步:使用USB数据线将iOS设备连接到MAC上第二步:获得iOS设备的UDID第三步:创建RVI接口按照上图命令在终端进行输入抓包完成后要关闭端口http://blog.manbolo.com/201...
2018-08-21 18:35:10 558
原创 安卓性能(adb、测试报告)
安卓性能测试数据获取及生成html测试报告 获取设备信息 获取设备厂商:adb -s devicesid shell getprop ro.product.brand获取设备型号:adb -s devicesid shell getprop ro.product.model获取设备系统版本:adb -s devicesid shell getprop ro.build.versi...
2018-08-15 19:05:24 1211
原创 堆排序
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆性质:即子结点的键值或索引总是小于(或者大于)它的父节点。要将初始数组调整为一个大根堆,就必须将它所对应的完全二叉树中以每一结点为根的子树都调整为堆。显然只有一个结点的树是堆,而在完全二叉树中,所有序号大于n/2的结点都是叶子,因此以叶子结点为根的子树均已是堆
2017-04-17 15:06:54 429
原创 合并两个排序的链表
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解法1:循环,谁小连接谁,谁向后跑,总会有有一个链表先跑完,while循环直到有一个链表走到头,循环结束判断哪个链表有剩余,将剩余链表进行连接,注意特殊输入NULL以及不要丢失合并后链表的头(所以要定义两个指针,一个指针指向合并后的头,保持不动,最后返回;一个作为向前跑的指针,进行合并)。ListN
2017-04-16 20:26:24 313
原创 翻转吧!字符串!(字符串翻转、左旋字符串)
题目1:输入一个英文句子,翻转句子中单词的顺序,但单词内部的顺序不可改变。例如 I am a student. 翻转后变为 student. a am I经典解法:两步翻转,先整体翻转,再以空格为分隔,部分翻转。所以需要一个翻转函数。翻转函数:void Reverse(string::iterator begin,string::iterator end) {
2017-04-13 21:46:36 340
原创 和为S的两个数、和为S的连续正数序列
题1:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。解法1:双层循环,从前向后扫描,简单好想,时间复杂度为O(n^2)//时间复杂度为O(n^2) vector FindNumbersWithSum(vector array,int sum) { vector vec;
2017-04-13 20:45:32 507
原创 二叉树(重建、层序、深度、平衡二叉树)
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */1.重建二叉树
2017-04-13 18:53:34 420
原创 数字在排序数组中出现的次数(二分查找)
统计一个数字在排序数组中出现的次数。例如:排序数组{1,2,3,3,3,3,4,5},和数字3,由于3在这个数字中出现了4次,因此输出4。解法1:顺序扫描,统计该数字出现的次数,时间复杂度为O(n)。解法2:利用二分查找,找到一个数字,由于该数字可能出现多次,有可能该数字前后都有可能是所找的数字,因此向两边顺序扫描,找出第一个该数字和最后一个该数字。由于数字在长度为n的数组中有可能出现O(
2017-04-13 17:29:23 507
原创 数字化婚姻配对尝试
建立一个模型,来模拟推导社会男女择偶过程。为了模型简化,一个人的特性指标有三个,这里假设为财富、样貌、品格,每个指标均可取值1-100之间任意数字。同样也对这3项指标有自己的需求。这3个需求值取值范围都在1-98间,当然三者的和必须为100.所以任意一个人可以用以下数组来表述:G(A、B、C、A1、B1、C1)G代表男,M代表女。举例G11(80、50、40、10、30、60),表示男
2017-03-09 09:24:59 1530
原创 运算符重载之火柴棒问题
题目:用火柴棒摆成的0-9间的数字,横向由一根火柴构成,纵向都是由两根火柴构成,可按如下规则进行变化:1.数字移动一根火柴棒可变成其它0到9之间合法的数字2.数字添加一根火柴棒可变成其它0到9之间合法的数字3.数字去掉一根火柴棒可变成其它0到9之间合法的数字现在给出一个带有两个操作数的+,-,*,/的算术式子,需要你判断该式子是否成立,如给出式子9-6=3,这个符合正常
2017-03-08 08:58:08 565
原创 new delete 运算符重载之 内存池申请
#include using namespace std;const int QUEUEITEM_SIZE = 100000;templateclass Queue{public: Queue() { _prear = _pfirst = new QueueItem(); } ~Queue() { QueueItem * pcur = _pfirst; whi
2017-01-04 14:35:33 816
原创 C++ 智能指针
int main(){ //裸指针 int *p =new int; if(...) return; delete p; return 0;}有时候忘记写delete,或者写了,但在程序执行过程中由于某种原因,提前结束了,会造成丢失内存所以,建议使用智能指针,不使用裸指针,智能指针的资源一定会被释放,不用自己写deleteclass Test{public:
2017-01-04 13:38:00 334
原创 几种排序总结(一)
交换排序的基本思想是:两两比较待排序记录的关键字,若反序即进行交换,直到没有反序的记录为止。static void swap(int *p,int *s ){ int tmp; tmp=*p; *p=*s; *s=tmp;}void exchange_sort(int *arr,int len){ for (int i=0;i<len-1;i++) { for
2016-10-27 22:26:32 540
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人