题目来源 对应的C++源代码答案
标签:算法
查找算法——二分(折半)查找
基本思想: //待查记录的顺序为从小到大 首先将待查元素的关键字(key)值与待查记录中间位置上上(下标为mid)记录的关键字进行比较,若相等,则查找成功 若 key…
字符串全排列 java实现
经常会遇到字符串全排列的问题。例如:输入为{‘a’,’b’,’c’},则其全排列组合为abc,acb,bac,bca,cba,cab。对于输入长度为n的字符串数组,全排列组合为n!种。 思路:从字符串数组中每次选取一个元…
二分查找和快速排序
二分查找和快速排序分别是查找和排序算法中最重要的算法。下面代码采用java语言来进行编写。 public class BinarySearch { /** * 折半查找 * @param 所要查找的数组, 要查找的关键字…
分块初学(1)
今天早上开始刚学习了分块,发现分块并没有想象中的那么高深,其实只是将暴力进行了不错了的优化,把n优化成了根号n。 题目1:单点修改,区间求值 做法:这显然是一道树状数组,线段树裸题,但可以用分块水一下。 block表示每…
一个不错的套路题
题目大意:给定n个数,请你帮助小明求出里面有多少个连续的数的平均数大于给定的某个数M.并将这个方案数输出。注意:这个数可能会很大,所以请输出这个数对92084931取模的结果。 做法:这是一道很经典的套路题。因为M固定所…
循環不變式---算法導論
循環不變式:個人理解爲具有循環不變性的循環變量 循環不變性:在程序循環中不斷的重複相同的動作的特性 排序中,每次循環都需要: 1. 保持元素還是原先的元素 2. 每一次的循環都能部分的排好順序 當程序結束的時候完成所有的…
算法題0004-字符串壓縮
1.題目 給定一個字符串,對其進行壓縮。比如”aaaabbcddd”壓縮爲”a4b2c1d3″。若壓縮後的字符串沒有變短,則返回原來的字符串。 2.解法 解法1:利用Str…
一個例子看懂遞歸
一、爲什麼要搞定遞歸 在計算機科學與技術中,遞歸思想是簡單而且複雜的。它可以將複雜的數學問題用簡單的代碼實現,但是要理解它卻是需要複雜的思考。大多數算法中都巧妙的使用了,或者可以使用遞歸來完成,比如排序算法中的快速排序、…
歸併排序算法
逝者如斯夫,不捨晝夜 歸併排序是一種非常快的排序算法。該算法的核心思想是分治。通過將一個較大的序列分解成多個較小的序列進行處理,最後再進行合併,從而完成排序。 實現歸併排序的關鍵是如何完成合並,以及如何分解序列,同時要注…
尋找第n個數 與前n個數的幾種方法
尋找第n個數 與前n個數的幾種方法 <span style="font-size:18px;">#include<iostream> #include<string> #include…
USACO-section 1.3 Prime Cryptarithm[hash]
题意: 给定n 个数 (每个数可重复使用) 求满足这个式子的种数 * * * * * ------- * * * <-- partial product 1 * * * <-- partial product…