面试题.....今天面试一家公司,今天面试一家公司,今天面试一家公司,今天面试一家公司,今天面试一家公司,

cefriend 2008-05-14 04:49:35
今天面试一家公司,
其中碰到这样二道题
第一题
给一个数据组,数据中有99个数字,
现在要你判断这99个数字中那些数字是不符合1-100之间的数字
例如:99个数字 是 1,2,4,5,6,7...99,100 这是99个数字,但你看中间少了一个3,
就是说如何用C#程序作出判断这个少了的数字

第二题给你一个C#中的日期参数

你如何得出该日期参数中该月份的第一天,与最后一天,


请教高手,我想了半天没有好的解决方法........................
做完50分送


...全文
738 51 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
51 条回复
切换为时间正序
请发表友善的回复…
发表回复
zj53hao 2008-05-15
  • 打赏
  • 举报
回复
都是些基础题目。
1: 其实不用累加啊。循环到第一个i!=NUM[i]。就找到了,返回这个数了
2:下个月的一号,减去一天就得到了
oxlshmily 2008-05-15
  • 打赏
  • 举报
回复
            int lastDay = DateTime.DaysInMonth    (DateTime.Now.Year,DateTime.Now.Month);//该日期所在月份的最后一天
DateTime first = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);//该日期所在月份的第一天
Console.WriteLine("The Lastday is {0} and the firstday is {1}", lastDay, first);
Console.ReadKey();



其实就是和六楼的差不多一个样.
oxlshmily 2008-05-15
  • 打赏
  • 举报
回复
个人总结一下,第一题,除了二楼的解法有精妙之处,其他的用的方法很笨重,你想一下,有哪个公司那么无聊叫你先输入99个数啊.
个人之言,大家不要见怪啊.
WindBoy1987 2008-05-15
  • 打赏
  • 举报
回复
一楼很厉害!
wenbinsong 2008-05-15
  • 打赏
  • 举报
回复
第一题
用后一个-前一个 不等于一
Magichi 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 virusplayer 的回复:]
1/
太简单了,1到100相加-1到99个数相加=99个数中缺少的数字
2、
DateTime.Now.Month得到该日期的月份,第一天肯定是一号
最后一天就要判断了,有可能是30号,31号,28号,29号(闰年)
[/Quote]
看来你比14楼的更强,觉得你应该改行了
lc7cl 2008-05-15
  • 打赏
  • 举报
回复
2
codingtaoist 2008-05-15
  • 打赏
  • 举报
回复
很多时候,代码的规范和可读性比它的效率更有价值。
anheizhizi 2008-05-15
  • 打赏
  • 举报
回复
1楼的那个异或谁解释下?
wizardlun 2008-05-15
  • 打赏
  • 举报
回复
=====================
將99換成9,Code如下:
static void Main(string[] args)
{
string[] a = new string[9] {"1","2","3","4","5","6","7","8","9"};
string[] b = new string[9] {"1","1","1","3","4","5","6","7","8" };
List<string> list = new List<string>(a);
foreach (string s in b)
{
if (list.Contains(s))
{
list.Remove(s);
}
}
string[] result = list.ToArray();
for (int i = 0; i <= result.Length-1; i++)
{
Console.WriteLine(result[i]);
}
Console.ReadLine();

wizardlun 2008-05-15
  • 打赏
  • 举报
回复
1.我的理解,里面的數字可能的重的,是沒有規律的,
如1,1,1,4,5,5,7,8,9
將上面的99換成9,則返回2,3

=====================
用C#程序作出判断这个少了的数字,可能有多個數字
zyhappy1688 2008-05-15
  • 打赏
  • 举报
回复
int[] array = { 1, 2, 3, 5, 6, 7, 8, 9, 10 };
for (int i = 0; i < 8; i++)
{
if (array[i+1]-array[i]!=1)
{
int sum = array[i] + 1;
Response.Write("少了这个数值" +sum+"<br>");
}
}

kcseason 2008-05-15
  • 打赏
  • 举报
回复
1 现算出1-100的和,再算出已给数组的和,两者的正差就是缺少的数字;
2
DateTime date = new DateTime(2008, 3, 2);
int lastDay=DateTime.DaysInMonth(date.Year, date.Month);//该日期所在月份的最后一天
DateTime first=new DateTime(date.Year, date.Month,1);//该日期所在月份的第一天
sjt000 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 zj53hao 的回复:]
都是些基础题目。
1: 其实不用累加啊。循环到第一个i!=NUM[i]。就找到了,返回这个数了
2:下个月的一号,减去一天就得到了
[/Quote]

jekyllkiss 2008-05-15
  • 打赏
  • 举报
回复
学习。。
yangjia21_2007 2008-05-15
  • 打赏
  • 举报
回复
第一题是不是应该用2分法效率高一些?如果是找其中少哪个的话
gaoyipu 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 zj53hao 的回复:]
都是些基础题目。
1: 其实不用累加啊。循环到第一个i!=NUM[i]。就找到了,返回这个数了
2:下个月的一号,减去一天就得到了
[/Quote]
地下室小红叔 2008-05-15
  • 打赏
  • 举报
回复
异或的思路是什么?谁给讲讲?
ztenv 2008-05-15
  • 打赏
  • 举报
回复
第一题:不能用楼上各位加和再相减的办法,如果有超除100或小于1的数字呢?怎么办?

简单的:
先排序,再挨个比较,没有的记下;

复杂而高效的:用正则
cyz645172 2008-05-15
  • 打赏
  • 举报
回复
学习!!
加载更多回复(31)

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧