1堆硬币机器果反翻正果正抛掷次穷次求正反例
解答:题目完整啊算3:1
2汽车公司产品甲厂占40乙厂占60甲次品率1乙次品率2现抽出件汽车时次品问甲生产性
解答:典型贝叶斯公式p(甲|废品) p(甲 && 废品) p(废品) (04 × 001) (04 × 001 + 06 × 002) 025
3k链表翻转出链表数k链表1→2→3→4→5→6k2翻转2→1→4→3→6→5k3翻转3→2→1→6→5→4k4翻转4→3→2→1→5→6程序实现
非递运行代码:
#include
#include
#include
typedef struct node {
struct node *next
int data
} node
void createList(node **head int data)
{
node *pre *cur *new
pre NULL
cur *head
while (cur NULL) {
pre cur
cur cur>next
}
new (node *)malloc(sizeof(node))
new>data data
new>next cur
if (pre NULL)
*head new
else
pre>next new
}
void printLink(node *head)
{
while (head>next NULL) {
printf(d head>data)
head head>next
}
printf(d\n head>data)
}
int linkLen(node *head)
{
int len 0
while (head NULL) {
len ++
head head>next
}
return len
}
node* reverseK(node *head int k)
{
int i len time now
len linkLen(head)
if (len < k) {
return head
} else {
time len k
}
node *newhead *prev *next *old *tail
for (now 0 tail NULL now < time now ++) {
old head
for (i 0 prev NULL i < k i ++) {
next head>next
head>next prev
prev head
head next
}
if (now 0) {
newhead prev
}
old>next head
if (tail NULL) {
tail>next prev
}
tail old
}
if (head NULL) {
tail>next head
}
return newhead
}
int main(void)
{
int i n k data
node *head *newhead
while (scanf(d d &n &k) EOF) {
for (i 0 head NULL i < n i ++) {
scanf(d &data)
createList(&head data)
}
printLink(head)
newhead reverseK(head k)
printLink(newhead)
}
return 0
}
5利两stack模拟queue
剑指offer原题九度oj专门练里贴ac代码:
#include
#include
#include
typedef struct stack {
int top
int seq[100000]
} stack
**
* 入队操作
*
* T O(1)
*
*
void pushQueue(stack *s1 int data)
{
s1>seq[s1>top ++] data
}
**
* 出队操作
*
* T O(n)
*
*
void popQueue(stack *s1 stack *s2)
{
if (s2>top > 0) {
printf(d\n s2>seq[ s2>top])
} else {
while (s1>top > 0) {
s2>seq[s2>top ++] s1>seq[ s1>top]
}
if (s2>top > 0)
printf(d\n s2>seq[ s2>top])
else
printf(1\n)
}
}
int main(void)
{
int data n
stack *s1 *s2
char str[5]
while (scanf(d &n) EOF) {
初始化
s1 (stack *)malloc(sizeof(stack))
s2 (stack *)malloc(sizeof(stack))
s1>top s2>top 0
while (n ) {
scanf(s str)
if (strcmp(str PUSH) 0) { 入队列
scanf(d &data)
pushQueue(s1 data)
} else { 出队列
popQueue(s1 s2)
}
}
free(s1)
free(s2)
}
return 0
}
6m*n矩阵左右递增数elem求否矩阵中出思路代码
杨氏矩阵简单题目:
#include
#include
**
* 序矩阵查找
*
* T O(n + n)
*
*
void findKey(int **matrix int n int m int key)
{
int row col
for (row 0 col m 1 row < n && col > 0) {
if (matrix[row][col] key) {
printf(第d行第d列\n row + 1 col + 1)
break
} else if (matrix[row][col] > key) {
col 1
} else {
row + 1
}
}
printf(存\n)
}
int main(void)
{
int i j key n m **matrix
构造矩阵
scanf(d d &n &m)
matrix (int **)malloc(sizeof(int *) * n)
for (i 0 i < n i ++)
matrix[i] (int *)malloc(sizeof(int) * m)
for (i 0 i < n i ++) {
for (j 0 j < m j ++)
scanf(d &matrix[i][j])
}
查询数
while (scanf(d &key) EOF) {
findKey(matrix n m key)
}
return 0
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档