6. ZigZag Conversion 转化成锯齿形 本题来自LeetCode OJ 题目翻译 The string "PAYPALISHIRING" is written in a zigzag pattern on…
标签:算法
两个链表相交,要求找出第一个相交的节点
《编程之美》里面有一篇是讲如何判断两链表是否相交,读后觉得原文太过囉嗦。于是,笔者总结了一下,此类问题可以扩展为两大类,分别是: 1、单链表与环问题http://blog.csdn.net/liuxialong/arch…
归并排序(java实现)
原理: 归并排序是利用递归与分治技术将数据序列划分为越来越小的半子表,再对半子表排序,最后利用递归的方法将排好序的半子表合并为越来越大的有序序列。 归并排序算法原理: 对于给定的一组记录(假设有n个记录),首先将每两个相…
破解flashFXP密码全过程
破解flashFXP密码全过程 2008年12月4日 xmxoxo flashFXP是一个FTP客户端,无意中看了一下密码的保存方式,是存在一个INI格式中,突发奇想来破解一下: 先改几个密码保存一下,把密文记下来…
C++实现链表基本操作
LinkList.h LinkList.cpp main.cpp LinkList.h代码如下 #include <iostream> #include <string> using namesp…
O()算法表示分析
前阵子有同学跟我讨论,怎么这个问题用递归方法(O(n^2))比非递归方法(O(n)解决时间还快?按照算法复杂度…
算法:LeetCode240
题目 Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following pr…
基于Java的栈实现
栈的定义 栈是计算机科学中非常基础和重要的一种数据结构,它在计算机相关领域中有着广泛的应用,典型的编程语言中的函数调用,编译器便是采取栈这种结构来组织环境的。数据结构就是数据的组织方式,不同的组织方式,对于集合中元素的选…
查找算法实现
1. 折半查找 使用折半查找的前提是元素已经排序。 代码实现:先定义接口Search package org.util.search; /** * 查找 * @author Weibing Long * @since 2…
数组中只出现一次的数字
题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。时间复杂度o(n),空间复杂度o(1) public static void FindNumsAppearOnce(i…
算法—青蛙跳台阶问题汇总
1. 第一题(引子):输出菲波那切数列的第N项。 斐波那契数列含义(百度百科): 指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=…
算法联系之一冒泡排序
记录下算法基础课 一、冒泡排序 // suanfatest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" void swap(int *pInSrc,int index_0,in…