1.數(shù)字填空城舞,每一行每一列,每個(gè)九宮格的填入1-9忙灼,并且每一行每一列匠襟,每個(gè)九宮格都不能出現(xiàn)重復(fù)數(shù)字
2.二叉樹給出先序遍歷,中序遍歷缀棍,畫出二叉樹圖
3.現(xiàn)有2克砝碼和7克砝碼各一個(gè),天平一個(gè),如何在三次內(nèi)(包括三次)將140克的面粉分成50克和90克.
1. 用7克砝碼和2克砝碼稱出9克食鹽
2. 用7克砝碼和9克食鹽稱出16克食鹽
3. 用稱出的25克食鹽(9+16)再稱出25克食鹽
4. 9+16+25=50
5. 剩下的就是另外90克食鹽
4.有一個(gè)虛擬存儲(chǔ)系統(tǒng)宅此,若進(jìn)程在內(nèi)存中占3頁(yè)(開始時(shí)內(nèi)存為空),若采用先進(jìn)先出(FIFO)頁(yè)面淘汰算法爬范,當(dāng)執(zhí)行如下訪問(wèn)頁(yè)號(hào)序列后1父腕,2,3青瀑,4璧亮,5, 1萧诫,2,5枝嘶,1帘饶,2,3群扶,4及刻,5,會(huì)發(fā)生多少缺頁(yè)竞阐?
缺頁(yè)中斷就是要訪問(wèn)的頁(yè)不在主存缴饭,需要操作系統(tǒng)將其調(diào)入主存后再進(jìn)行訪問(wèn)。在這個(gè)時(shí)候骆莹,被內(nèi)存[映射]的文件實(shí)際上成了一個(gè)分頁(yè)交換文件颗搂。
答:會(huì)產(chǎn)生10次缺頁(yè)
5.手寫將字符串倒序輸出,不能使用java自帶的方法幕垦,比如將"abcdef"倒序輸出
//<思路>
//歷法規(guī)定丢氢,四年一閏,四百年閏先改,例如2000年是閏年疚察,2100年不閏年,
//公歷年份是整百數(shù)的仇奶,必須是400的倍數(shù)的才是閏年稍浆,不是400的倍數(shù)的就是平年
//計(jì)算兩個(gè)日期之間的天數(shù)(C++)
//定義變量year1, month1, day1, year2, month2, day2
//首先比較兩個(gè)日期,將小的給date1
//再將date1進(jìn)行加1猜嘱,一直增加到date2的日期
//其中當(dāng)天數(shù)大于GetLastDay時(shí)衅枫,月數(shù)加1,同理當(dāng)月數(shù)大于12時(shí)朗伶,年加1
//再這過(guò)程中delta進(jìn)行自增(++)——> return delta弦撩;
/*
問(wèn)題: 給你兩個(gè)日期(如"2017,8论皆,18"和"2013益楼,6,11"),求它們之間相差的天數(shù)
分析: 這是一年看似簡(jiǎn)單点晴,實(shí)際上卻有點(diǎn)復(fù)雜的小問(wèn)題感凤,首先你要考慮到月大月小的問(wèn)題,其次你要考慮到閏年的問(wèn)題
當(dāng)然粒督,你也要檢測(cè)一下陪竿,給定的日期格式是否合法,對(duì)這個(gè)問(wèn)題的解法屠橄,寫出偽代碼如下
*/
#include <Windows.h>
#include <stdio.h>
struct tagDate
{
int year;
int month;
int day;
};
//設(shè)置日期
void SetDate(int y, int m, int d, tagDate *date)
{
date->year = y;
date->month = m;
date->day = d;
}
//是否閏年
int IsLeapYear(int year)
{
return ((year%4==0) && (year%100!=0)||year%400==0);
}
//得到date.month的最大天數(shù)
int GetLastDay(tagDate date)
{
int num;
switch(date.month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
num=31;
break;
case 2:
num = 28+IsLeapYear(date.year);
break;
default:
num = 30;
}
return num;
}
//日期是否合法
int IsDateValid(tagDate date)
{
if(date.year <0 || date.month <1 || date.month> 12)
return 0;
if(date.day <1 || date.day> GetLastDay(date))
return 0;
return 1;
}
//date+1
void AddDay(tagDate *date)
{
date->day++;
if(date->day > GetLastDay(*date))
{
date->day = 1;
date->month++;
if(date->month > 12)
{
date->month = 1;
date->year++;
}
}
}
//date1比date2小返回值為1族跛,否則為0
int Compare(tagDate date1, tagDate date2)
{
if(date1.year < date2.year)
return 1;
if(date1.year <= date2.year && date1.month < date2.month)
return 1;
if(date1.year <= date2.year && date1.month <= date2.month && date1.day < date2.day)
return 1;
return 0;
}
//計(jì)算兩個(gè)日期的間隔天數(shù)
long DateDiff(tagDate date1, tagDate date2)
{
long delta = 0;
tagDate date3;
//若date1 > date2,交換date1,date2
if(!Compare(date1, date2))
{
date3 = date2;
date2 = date1;
date1 = date3;
}
//date1比date2少時(shí)闰挡,date1日期加1
while(Compare(date1,date2))
{
AddDay(&date1);
delta++;
}
return delta;
}
void main()
{
tagDate date1, date2;
int y, m, d;
system("cls");
while(1)
{
puts("Please Input date1\t ");
scanf("%d,%d,%d", &y, &m, &d);
SetDate(y, m, d, &date1);
if(!IsDateValid(date1))
{
puts( "date1 is invalid !");
exit(1);
}
puts("\nPlease Input date2\t ");
scanf("%d,%d,%d", &y, &m, &d);
SetDate(y, m, d, &date2);
if(!IsDateValid(date2))
{
puts( "date2 is invalid !");
exit(1);
}
//返回的天數(shù),以及年數(shù)
printf("\nResult : %ld day [about %.2f year]\n", DateDiff(date1,date2),DateDiff(date1,date2)/365.0);
}
}
get post區(qū)別
tcp udp區(qū)別 tcp重傳機(jī)制原理
Android中源碼的設(shè)計(jì)模式體現(xiàn)在哪些地方
protobuf require和option的區(qū)別
app的鏈路有幾條礁哄,比如除了tcp連接以外還有http鏈接之類的
socket鏈接使用ip還是域名长酗?各有什么原因
listview和recyclerview區(qū)別,recyclerview比起listview哪里好
怎么處理大圖避免oom
Android事件分發(fā)機(jī)制流程
項(xiàng)目中用到的線程是new還是線程池
對(duì)于c的學(xué)習(xí)桐绒,可以自己寫so庫(kù)嗎
自定義控件怎么優(yōu)化達(dá)到不卡頓或是占用資源少
crash收集的bugly和阿里的有什么不同夺脾,crash率有多少
設(shè)計(jì)模式哪里用到了,比如哪里用到了設(shè)計(jì)模式
抽象類和接口的區(qū)別
性能優(yōu)化有哪些茉继。(布局劳翰,啟動(dòng)速度,內(nèi)存馒疹,)