一問題: 給定一組字串,要求求出乙個最短的字串使得它包含所有給出的字串。
比如"a","bc","ca".輸出應該是"bca"。
2、按照陣列len的記錄長度,在剩下的字串中找出記錄長度最長的 字串,
a. 如果這個字串包含在string中,該字串已被包含,轉2;
b. 如果這個字串的長度是1,將該字串與string連線, 該字串已被包含,轉2;
c. 如果這個字串的長度與它在陣列len的記錄長度相等, 將它在陣列len的記錄長度減1,轉2;
d. 如果這個字串的長度與它在陣列len的記錄長度length不相等, 分別取該字串的左右length個字元子串,如果子串包含在 string中,將剩下的字元連線到string中, 該字串被包含,轉2;否則將它在陣列len的記錄長度減1,轉2。
#define stringnum 100
#define maxlength 100
struct node
;int isinstring(char *str,char *s);
int maxlen(struct node len,int s,int n);
void swap(struct node *t1,struct node *t2);
void leftstr(char *s,char *d,int n);
void rightstr(char *s,char *d,int n);
int simplykmp(const char* src, const char* token);
int findmaxlen(char* str, int num, bool bfind);
void findminstr(char* str, int num, char* res);
void main(void)
i=0;
max=maxlen(len,i,num);
swap(&len[i],&len[max]);
strcpy(string,str[len[i].index]);
len[i].index=-1;
i++;
while(i/* 尋找字串陣列中長度最大的字串的位置 */
int maxlen(struct node len,int s,int n)
/* 交換陣列元素 */
void swap(struct node *t1,struct node *t2)
/* 取字串s的左邊n個字串存放到d中 */
void leftstr(char *s,char *d,int n)
/* 取字串s的右邊n個字串存放到d中 */
void rightstr(char *s,char *d,int n)
/* 如果字串s是字串str的子串,返回1;否則,返回0 */
int isinstring(char *str,char *s)
;bool* bflag = new bool[num];
for (int index = 0; index < num; index++)
bflag[index] = false;
int maxlen = findmaxlen(str, num, bflag);
bflag[maxlen] = true;
strcpy(temp, str[maxlen]);
index = 0;
while(index < num)
if (strlen(str[maxlen]) == 1)}}
int findmaxlen(char* str, int num, bool bfind)
return maxlen;
}int simplykmp(const char* src, const char* token)
else
}if (j >= strlen(token))
return i - strlen(token);
return -1;
}二求陣列中最長的單調遞增子串行
void showres(int* a, int* pmax, int maxd, int k)
else
}void findmaxincsquence(int* a, int n)
if (nmax < max[i])
}showres(a, max, nmax, k);
}node* reverse(node* pheade)
}return pheade;
}struct btree
;btree* creaatetree(char* ppre, char* pinner, int nlen)
資料結構幾道程式設計題
先將其中乙個鍊錶的鏈頭按到另乙個鍊錶的尾部,如果他們有交集則會構成乙個環,題目等價於找鍊錶中的環的起始結點。找到後將鍊錶還原。一.兩個長鍊表求交點 考慮環 public listnode getintersectionnode listnode heada,listnode headb listno...
幾道資料結構和演算法題的回顧總結
這週做了一些牛客網上劍指offer的題.選取幾道個人覺得比較典型,有意思的題拿出來進行分析.1.鍊錶中環的入口節點 乙個鍊錶中包含乙個環,請找出這個環的入口節點.分析 一般答案不那麼顯然的鍊錶題,大多都可以用這種方法解決 派出兩個指標幹活.這道題也是如此,具體是派出快慢2個指標同時出發,快指標一次走...
幾道演算法題
1 n階乘之和 public class test1 sum kk system.out.println sum 2.獲取二維陣列每列最小的值 public class test2 system.out.println sum public long jiecheng int x return su...