摘要:
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T. The same repeat 阅读全文
摘要:
排序的思想是冒泡排序的改进,都是通过交换两个值来实现排序具体的思想是将一个数字放到正确的位置上(排序后应该在的位置),同时将其他数字也都放到近似正确的位置上,用例子来说明是最好的,下图将56放到正确的位置上,然后把比它小的都放在它左边,比它大的都放在它右边。 程序如下123456789101112131415161718192021222324252627282930313233343536373... 阅读全文
摘要:
Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possib 阅读全文
摘要:
题目描述开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非法坐标点需要进行丢弃。如AA10; A1A; $%$; YAD; 等。 下面是一个简单的例子 如: A10;S20;W... 阅读全文
摘要:
插入排序的时间复杂度是O(N^2)希尔排序的时间复杂度和步长设置有关,如果步长初始为数组总长度的一半,然后每次都取一半,最后的时间复杂度为O(N*logN)具体的代码如下:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include#include#... 阅读全文
摘要:
堆排序基本概念堆是一种数据结构,它是将一些数据放在物理数据结构:数组或者vector中;逻辑数据结构是完全二叉树。如果根节点的值大于两个子节点值,就是大根堆;如果根节点的值小于两个子节点值,就是小根堆。用堆这种数据结构来实现排序,就是堆排序。该算法的操作主要有minheapify:最小堆处理,复杂度是O(logN)find_min:找到最小值,复杂度是O(1)delete_min:删除最小值节点,... 阅读全文
摘要:
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If the number of nodes is not a multiple of k then l 阅读全文
摘要:
功能:实现两个主机之间的局域网聊天实现关键:如何同时处理套接字的输入和标准输入 --- select函数客户端的程序#include "unp.h"void cli_echo(FILE *fp, int sockfd){ int maxfdp1, stdineof; fd_set rset; char buf[1000]; int n; stdineof=0; FD_ZERO(&rset); fo... 阅读全文
摘要:
配置好动态链接库或者静态链接库1,下载UNIX网络编程书的头文件及示例源码unpv13e2 按照readme来编译Execute the following from the src/ directory: ./configure # try to figure out all implementation differences cd lib # buil... 阅读全文
摘要:
程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入一. cin>>该操作符是根据后面变量的类型读取数据。输入结束条件 :遇到Enter、Space、Tab键。对结束符的处理 ... 阅读全文