`
gaofen100
  • 浏览: 1227724 次
文章分类
社区版块
存档分类
最新评论
文章列表
问题: 对于一个已经排好序的数组,去除里面重复的元素,比如A = {1,2,2,2,3,3,4,4}, 去掉重复以后,就变成A = {1,2,3,4}. 原理非常简单,关键是写代码的时候注意“指针”位置,和如何比较重复,参见代码里的第一个for循环。 public int[] uniqueArray(int[] array) { int pointer = 0; for (int i = 1; i < array.length; i++) { if (array[i] != array[pointer]) { poi ...
曾经android 不支持virtual key。好像是2.0以后才有的virtual key的吧。virtual key顾名思义就是利用触摸屏的一个区域,模拟成按键,最终被android framework理解成按键事件。 再说说,那时候的项目背景。当时android2.0还没出来,公司也是对 ...
首先,所有内容参考我的资源文档。 http://download.csdn.net/detail/faithsws/3820574 文档中描述了从ril事件开始到stk应用的过程,包含了类关系图,数据格式流向图,以及各个部分功能的描述。 以下为实际操作时,遇到的问题。 1.多数交互的功能都是通过发短信来完成。不同运营商的sim卡,在stk中要求发出的短信格式不一样,根据11.14规范,有7bit,8bit和unicode。 在android原生代码中,没有8bit的支持,所以某些sim卡在stk操作时会有发送短信失败提示。在 ValueParser.java中增加8bit的支持,就 ...
问题: 给定一个数组,其值先从小到大递增后从大到小递减,找出最大的值。 思路:最简单的办法就是从第二个值开始,判断是否满足 A[i] > A[i-1] && A[i] > A[i+1]. 如果满足,i 就是那个最大值的下标。该算法复杂度为O(n). 我们可以改进这种算法,因为这个数组是排好序的,所以我们可以利用二分查找的思想,更快速的找到最大值,时间复杂度为O(lg n)。 二分查找的算法可以在后面的link处得到,二分查找的退出条件和这道题的退出条件是不一样的(详见while loop),这是很值得注意的地方。 http://blog.csdn.net ...
VirtualBox 可以为每一个虚拟机分配8个网卡。每一个网卡的连接方式可以选为下列之一: Not attached Network Address Translation (NAT) Bridged networking Host-only networking Internal networking Generic networking 去掉第一个和最后一个,我们关心的只剩下4个: (以下假定host在192.168.1.*网段中) Network Address Translation (NAT)
问题: 给两个已经排好序的数组,一个长度为 m (m >= 1), 一个长度为 n (n >= 1),找出这两个数组的中位数。时间复杂度要求为 O(m+n), 空间复杂度为 O(1)。 其实这个问题本身来讲是不难的,关键的关键,是对一些边界条件的处理。 思路:我们首先判断中位数的位置,如果 m+n 为奇数,那么中位数的位置是 第 (m+n+1)/2。 如果 m + n 为偶数,那么我们要找出第 (m+n)/2 和 第(m+n)/2 + 1, 然后求平均。 我们在两个数组上都分配一个“指针”指到起始位(假定A数组的指针为pa, B数组的指针为pb),然后根据它们值的大小,指 ...
机器学习 lesson 17 1. continuous states? 离散化 2. curse of dimensionality The curse of dimensionality refers to various phenomena that arise when analyzing and organizing high-dimensional spaces (often with hundreds or thousands of dimensions) that do not occur in low-dimensional settings such as the ph ...
问题: 从一个数组里面,找出第K大的数。 题目很简单,要想把第K个数找出来,其实也挺容易的。 第一种方法:无非就是先排序,比如用Merge Sort算法,整个算法复杂度为 O(NlgN), 然后找到第K个即可。 第二种方法:如果k很小,比如第五个最大的数,而整个数组的长度非常的大,那么,还有一种方法就是,我做k遍找最大的数,每做一遍,就把最大的放在数组的最后面,然后减少数组扫描的范围,就可以把第k大的数找出来,这样做的复杂度就是O(K*N),在K很小的情况下,还是不错的。 第三种方法:我们可以借助quicksort的思想,把数组的值分成两部分,一部分比那个pivot大,一部分比pivo ...
1.select 中出现的列,在group by后面一定要出现,但是group by中出现的分组的列不一定要在select中出现. 我们需要注意的一点是,如果在返回集字段中,这些字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。我们可以将Group By操作想象成如下的一个过程,首先系统根据SELECT 语句得到一个结果集,如最开始的那个水果、出产国家、单价的一个详细表。然后根据分组字段,将具有相同分组字段的记录归并成了一条记录。这个时候剩下的那些不存在于Group By语句后面作为分组依据的字段就有可能出现多个值,但是目前一种分组情况只有一条记录,一 ...
我们在使用一些软件的时候,有时候会遇到快捷键失灵的情况,这种情况一般是有两种情况导致的: 1.我们修改了快捷键的设置,可能是很久以前修改的,而现在你不知道了。 解决办法:你需要把原来的快捷键修改回来,或者使用你修改后的快捷键。 2.我们同时开启的软件中快捷键有冲突,比如在使用plsql developer的时候同时使用了有道词典,它们同时都把F8作为了快捷键,而且有道的优先级好像更高,这样在运行在plsql developer 中所编写的可执行语句的时候,如果你使用的是F8那么就是没有任何效果的,因为这个快捷键被有道给占用了。 解决办法:在使用plsql developer 的时候把有 ...
如果在学校里面学习主要是为了应付升学和考试的话,那么当你为工作而学的时候,你学习的目的就必须要转变了,你学习的目的就是为了工作,为了做出东西,如果你学了好多的知识点,知道好多的知识点,但是很少把它们运用到项目中去,那么你学习的意义也就没有了,你只是一个类似于词典的知识库,但是实际上你所学习的那一点东西根本就不能称作为知识库,只是稍微多懂一些吧了,那又能怎样,你所知道的并不能体现出来你学习的价值,你必须要用自己学过的东西做出来一些东西,而且要有价值的东西,这样不仅可以让你对只是的掌握更加的牢固而且还可以给你带来成就感,培养你的学习兴趣,而且它才能体现出你学习的价值。实际上任何的学习都应该以应用为 ...
vi /etc/my.cnf --- [mysqld] log=myquery.log ----- service mysqld restart myquery.log 就是自定义的查询日志。
常用的元字符: \b 代表的是单词的开始或者结尾 因为开始的单词是begin . 代表的是除了换行符以外的所有字符 \w 匹配任意的字母数字或者下划线或者汉字 word \s 匹配任意的空白符 包括: 空格,制表符,换行符,以及中文的全角空格 space \d 匹配任意的数字 digit ^ 匹配字符串的开始 $ 匹配字符串的结束 常用的限定符: * 重复0到多次 + 重复至少一次 ? 重复最多一次 {n} 重复n次 {n,} 重复至少n次 {n,m} 重复n到m次 常用的反义元字符 \W 匹配非字母,数字,下划线,汉字 \S 匹配任意不是 ...
本文是QMainWindow上下文菜单内存泄露(QTBUG)一文 的续篇,所以你很可能需要先看上文。 前传 问题起源于:QTBUG-7902 在Qt 4.6下,下面的小程序在显示上下文菜单的情况下会导致程序崩溃。
MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法。 1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称。 2. show databases; -- 显示mysql中所有数据库的名称。 3. show columns from table_name from database_name; 或show columns from database_name.table_name; -- 显示表中列名称。 4. show g ...
Global site tag (gtag.js) - Google Analytics