字串的连接最长路径查找

题目描述

  给定n个字符串,请对n个字符串按照字典序排列。

输入描述

  输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。

输出描述

  数据输出n行,输出结果为按照字典序排列的字符串。

输入样例

9
cap
to
cat
card
two
too
up
boat
boot

输出样例

boat
boot
cap
card
cat
to
too
two
up

测试代码

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #include <assert.h>
 5
 6 int cmp(const void *p, const void *q)
 7 {
 8     return strcmp(*(char **)p, *(char **)q);
 9 }
10
11 int main(void)
12 {
13     char **p = NULL;
14     int n, i;
15     scanf("%d", &n);
16     p = (char **)malloc(n * sizeof(char *));
17     assert(p != NULL);
18     for (i = 0; i < n; i++)
19     {
20         p[i] = (char *)malloc(105 * sizeof(char));
21         assert(p[i] != NULL);
22         scanf("%s", p[i]);
23     }
24     qsort(p, n, sizeof(p[0]), cmp);
25     for (i = 0; i < n; i++)
26     {
27         puts(*(p + i));
28     }
29     return 0;
30 }
时间: 2024-10-13 00:29:39

字串的连接最长路径查找的相关文章

华为机试:字串的连接最长路径查找

这个题更应该叫做字符串字典序排序 题目描述 给定n个字符串,请对n个字符串按照字典序排列. 输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母. 输出描述: 数据输出n行,输出结果为按照字典序排列的字符串. 示例1 输入 9 cap to cat card two too up boat boot 输出 boat boot cap card cat to too two up Java:傻子似的,重写Arrays.sor

【华为机试练习】字串的连接最长路径查找

题目描述给定n个字符串,请对n个字符串按照字典序排列.输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母.输出描述:数据输出n行,输出结果为按照字典序排列的字符串. 解法1(C语言): #include<stdio.h> #include<stdlib.h> #include<string.h> int Partition(char *A[], int low, int high) { char

c++字串的连接最长路径查找

两种方式 一:直接排序就行了.对于字符串“>.<.==.+”这些运算符都被重载了,可以直接用. #include <iostream>using namespace std;#include <string> int main(){ int num; cin >> num; string s[1000], temp; for (int i = 0; i < num; i++) { cin >> s[i]; } for (int i = 0;

014-字串的连接最长路径查找

/* 014-字串的连接最长路径查找 题目描述 给定n个字符串,请对n个字符串按照字典序排列.  输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母. 输出描述: 数据输出n行,输出结果为按照字典序排列的字符串. 输入例子: 9 cap to cat card two too up boat boot 输出例子: boat boot cap card cat to too two up */ //c语言版  #inclu

最长递归子序列、最长公共字串、最长公共子序列、编辑距离

[TOC]   ### 最长递归子序列 #### 题目 给定数组arr,返回arr中的最长递增子序列,如`arr=[2,1,5,3,6,4,8,9,7]`,返回的最长递增子序列为`[1,3,4,8,9]` #### 题解思路 先用DP来求解子序列递增的最大长度,如arr的长度序列为`dp=[1,1,2,2,3,3,4,5,4]`,然后对这个长度序列dp从右到左遍历,得到最长递增子序列. 1. 求解长度序列,令dp[i]表示在以arr[i]这个数结尾的情况下,arr[0...i]中的最大递增子序列

搜索里的相似度计算-最长公共字串

相似度计算的任务是根据两段输入文本的相似度返回从0到1之间的相似度值:完全不相似,则返回0,:完全相同,返回1.衡量两端文字距离的常用方法有:海明距离(Hamming distance),编辑距离,欧氏距离,文档向量的夹角余弦距离,最长公共字串. 1. 余弦相似度 把两篇文档看作是词的向量,如果x,y为两篇文档的向量,则:Cos(x, y) = (x * y) / (||x|| * ||y||) 使用Hashmap可以很方便的把这个计算出来 2. 最长公共字串(Longest Common Su

C语言:自定义一个查找字串的功能函数,类似于&lt;string.h&gt;中的strstr()

//自定义一个字符串字串查找标准库函数strstr() #include<stdio.h> #include<string.h> char* myStrstr(char *str1,char *str2); int main() { char *str1 = "hello worl world ld"; char *str2 = " world "; puts(myStrstr(str1,str2)); return 0; } char *m

java之字符串中查找字串的常见方法

1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引.      int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 函数数名:indexOf 调用方式:Object(String).indexOf(String str,int startIndex)或String.indexOf(String str) 参数说明:str需要查找的字串. startI

【经典算法】寻找最长01字串(转自待字闺中)

这两天在微信公众号“待字闺中”中看到一个经典的面试算法,寻找最长01字串,原题目是这么说的: 给定一个数组,数组中只包含0和1.请找到一个最长的子序列,其中0和1的数量是相同的. 例1:10101010 结果就是其本身.例2:1101000 结果是110100 这个题目,看起来比较简单,一些同学可能认为题目的描述符合动态规划的特征,然后就开始用动态规划解,努力找状态转移方程.这些同学的感觉,是很正确的.但,找状态转移方程,我们要对原来的数组进行变换一下. 原来是0和1的串,我们将0都换为-1.这