算法
Bill好想
这个作者很懒,什么都没留下…
展开
-
交换两个整数不通过中间变量
技巧:对于两个整数x,y,有x^x^y = x^y^x = y^x^x = y,^代表异或。异或:两个位的值不相同,则结果为1,如果两个位值相同,则结果为0。如 2^2^3 = 2^3^2 = 3^2^2 = 2所以其C/C++代码如下:#include int main(){ int x = 2, y = 3; x = x^y; y = x^y;原创 2015-06-08 19:15:50 · 485 阅读 · 0 评论 -
用Java实现Dijkstra输出指定起点到终点的最短路径
最近在公司参加了一个比赛,一个二维矩阵,每个点都有权重,需要找出从指定起点到终点的最短路径。马上就想到了Dijkstra算法,所以又重新温故了一遍,这里给出Java的实现。而输出最短路径的时候,在网上也进行了查阅,没发现什么标准的方法,于是在下面的实现中,我给出了一种能够想到的比较精简的方式:利用prev[]数组进行递归输出。package graph.dijsktra;imp原创 2017-09-15 21:02:26 · 7356 阅读 · 7 评论