Java 【算法学习】二分查找算法 二分查找算法用于在一列已排序的数组中找出一个数的位置。 假设下面有一列已排序的数:[a1,a2,a3,a4,...an],有a1<=a2<=a3<=a4<=...<=an 当我们要查询一个数a是否在数组中,直接的办法就是一个个比对,找到了即返回所在位置,没找到就返回-1;这种方法的时间复杂度是O(n)。 设有n个数,二分查找是先找数组[1..n]中间的那个数M,设其位置为i 1. 如果a比M小,则a肯定在M的左边,下一轮查数组[1..i-1]; 2. 如果a比M大,那a肯定在M的右边,
SQL MySQL中执行UPSERT操作 使用ON DUPLICATE KEY UPDATE,下面是示例,其中id是主键: INSERT INTO user_role(id, role_id) VALUES (1, 1) ON DUPLICATE KEY UPDATE role_id=1 原理:如果插入的记录有主键冲突,就执行update操作进行更新。
区块链 2017-02-16区块链新闻 今日关键词可视化: IBM:2018年90%的政府机构将会投资区块链技术(报告全文下载) [http://www.8btc.com/ibm-90-government-agencies-blockchain] IBM的商业价值研究所发布了一份题目为《构建政府信任》的区块链研究报告(报告全文下载),该报告表示2017年绝大多数政府人员都将追求区块链开发。这份调查涵盖了来自16个国家的200位政府领导,报告认为到2018年,... 2017-02-16 14:57:58 关键词:区块链 报告 政府 俄罗斯专家:区块链是未来核战争最有效的防御方式 [http://www.8btc.com/blockchain-nuclear-russian] 一位俄罗斯业界专家表示,
Android Failed to resolve: com.android.support:appcompat-v7:24.0.1 使用Android Studio开发时,碰到了一个错误: Failed to resolve: com.android.support:appcompat-v7:24.0.1 因为存在Android 24.0.1的版本,所以就下意识地将组件的版本也定为了24.0.1,但实际上版本24.0.1根本不存在,存在的版本为: 24.0.0 24.1.0 24.1.1
R 【R语言】程序包安装 两种方式安装程序包: 1. 通过GUI(图形用户界面)安装 2. 通过install.packages命令安装 第一种方法很简单,只需要在软件界面按顺序找到:Packages&Data -> Package Installer(程序包 -> 安装程序包),首先会要你选择一个程序包下载的镜像地址,可以根据实际情况(比如我选择的China Beijing)选择,然后会弹出程序包界面,选择需要的安装即可。 第二种方法较灵活,甚至可以实现源代码安装,如果需要用到测试版的程序包,就需要用这种方式安装。示例如下: install.packages("tm"
Java Gradle打包时指定JDK路径 在使用Gradle打包时,如果需要特别指定JDK路径,但又不想更改配置文件的话,可以直接进行文件夹,使用下述命令打包: gradlew build -Dorg.gradle.java.home=/JDK_PATH
python Python Pandas修改列类型 使用astype如下: df[[column]] = df[[column]].astype(type) type即int、float等类型。 示例: import pandas as pd data = pd.DataFrame([[1, "2"], [2, "2"]]) data.columns = ["one", "two"] print(data) # 当前类型 print("----\n修改前类型:") print(data.
leetcode 28. Implement strStr() 问题描述 Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. 思路 直接遍历haystack,然后一个一个字符去与needle匹配,完全匹配则成功;失败则迭代到下一字符,直到haystack.length - needle.length为止。
区块链 2017-02-03区块链新闻 R3主管:我们不需要区块链系统,只希望从这项技术中获得启示 [http://www.8btc.com/r3-2017-dlt-pilot] 分布式账簿技术(DLT)正在逐步向产业化迈进,然而,区块链联盟R3的某位主管暗示这可能不是今年企业级区块链发展的主要趋势。昨天在CoinDesk举行的开发者大会Construct 2017中,R3副主管兼前瑞士信贷(C... 2017-02-03 00:16:35 关键词:区块链 R3 主管
文学 一些优美的古诗词 《唐多令·芦叶满汀洲》刘过 芦叶满汀洲,寒沙带浅流。二十年重过南楼。柳下系船犹未稳,能几日,又中秋。 黄鹤断矶头,故人曾到否?旧江山浑是新愁。欲买桂花同载酒,终不似,少年游。 --------------------------------------------------------------------------------
leetcode 【LeetCode】292. Nim Game 问题链接:https://leetcode.com/problems/nim-game/ 尼姆游戏,一堆石子放在桌子上,两个人轮流拿,一次可以拿1-3颗石子,谁拿走最后一颗谁就赢了。 如4颗石子时,先手无论拿几颗,都会输了博弈,因为他至少得拿1颗,剩下的就是3颗,后手可一次全拿获胜。所以如果一堆石子放在桌子上,如果轮到这个人的时候面对的是4颗石子,那他肯定输,而另一个人肯定赢。 代码: public boolean canWinNim(int n) { return !(n%4==0); }
leetcode 【LeetCode】290. Word Pattern 问题链接:https://leetcode.com/problems/word-pattern/ 思路: 使用一个map存储映射关系即可 public boolean wordPattern(String pattern, String str) { String first = pattern; String[] second = str.split(" "); if(first.length()!=second.length) { return false; } Map m
leetcode 【LeetCode】283. Move Zeroes 问题链接:https://leetcode.com/problems/move-zeroes/ 思路: 1. 直观版本,遍历,如果一个数是0,就把它后面的所有不为0的数往前挪。O(n2) public void moveZeroes(int[] nums) { int c = 0; for(int i=0;i
leetcode 【LeetCode】278. First Bad Version 问题描述 You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based
leetcode 【LeetCode】263. Ugly Number 问题描述 Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly
leetcode 【LeetCode】258. Add Digits 问题描述 Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. For example: Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2.
leetcode 【LeetCode】257. Binary Tree Paths 问题描述 Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 / \ 2 3 \ 5 All root-to-leaf paths are: ["1->2->5", "1->3"] 输出二叉树所有从根节点到叶子节点的路径。递归即可。 代码 class
leetcode 【LeetCode】242. Valid Anagram 问题描述 Given two strings s and t, write a function to determine if t is an anagram of s. For example, s = "anagram", t = "nagaram", return true. s = "rat", t = "car", return false.
leetcode 【LeetCode】237. Delete Node in a Linked List 问题描述 Write a function to delete a node (except the tail) in a singly linked list, given only access to that node. Supposed the linked list is 1 -> 2 -> 3 ->
leetcode 【LeetCode】235. Lowest Common Ancestor of a Binary Search Tree 问题描述 Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST. According to the definition of LCA on Wikipedia: “The lowest common ancestor is
文学 王尔德语录 1. 我们都生活在阴沟里,但仍有人仰望星空 2. 格言是智慧耐用的替代品。 3. 梦想家只能在月光下找到前进的方向,他为此遭受的惩罚是比所有人提前看到曙光。 4. 每个圣人都有过去,每个罪人都有未来。 5. 生活是世上最罕见的事情,大多数人只是存在,仅此而已。 6. 我喜欢有未来的男人和有过去的女人。 7. 悲观主义者是这种人:当他可以从两种罪恶中选择时,他把两种都选了。 8. 社会仅仅以一种精神概念而存在,真实世界中只有个体存在。 9. 一个愤世嫉俗的人知道所有东西的价格,却不知道任何东西的价值。 10. 我喜欢人甚于原则,此外我还喜欢没原则的人甚于世界上的一切。 11. 我不想谋生;我想生活。
快哉 快哉导航 类似2345导航、360导航等等的导航页实在太过复杂,而且广告以及无意义的内容太多,所以,就自己做了这个导航页 [http://www.zgljl2012.com/kuaizai/]。 快哉导航的目的在于提供互联网上的优质资源,比如像学堂在线、Udacity、网易公开课这样的公开课资源,和Visualhunt [https://visualhunt.com/]这样的免费图片资源网站等。 目前是以自己平时访问得多的网站链接为主。 快哉导航: http://www.zgljl2012.com/kuaizai/ -------------------------------------------------------------------------------- 版本历史: v0.0.1(2017/1/
git Git恢复 git rm -rf 的文件 今天误删了熬夜写的所有的代码,情况是没有过commit,但用git rm -rf将所有代码全删了。。。 原因啊什么的就不说了,直接上解决办法: 首先用: git prune -n 可以列出所有的二进制文件,使用git删除的文件还会缓存在.git中; 类似: efb488d1d1b6b29f1caaa5f087432a17ea9128fe blob 然后用: git cat-file -p efb488d1d1b6b29f1caaa5f087432a17ea9128fe 可以将二进制文件内容输出为文本显示。看到文本内容后判断是什么文件,最后 git cat-file -p efb488d1d1b6b29f1caaa5f087432a17ea9128fe > filename.py 将文本存入文件中,恢复此文件。