ÏëÏëͨÓÃÓ¦ÓÃÆ½Ì¨ÖÕÓÚµ®ÉúÁË£¬ÕýºÃÓÖÅöµ½Á½¸öͦÓÐÒâ˼µÄÌâÄ¿£º
´«ËÍÃÅ£ºLeetCode 12 Integer to Roman£¨ÕûÐÍÊýµ½ÂÞÂíÊý£©
´«ËÍÃÅ£ºLeetCode 13 Roman to Integer£¨ÂÞÂíÊýµ½ÕûÐÍÊý£©
ÓÚÊǾʹòË㽫ËüÃÇÕûºÏ³É¸öÒ»¸ö¼òµ¥µÄApp°É£¬ËäÈ»¹¦Äܲ»¶à£¬µ«ÍòÒ»ÓÐÓû§Ðè񻀯£¿³£¹æµÄ¼ÆËãÆ÷¹¦ÄÜÎÒûʵÏÖ£¬ÏµÍ³×Ô´øµÄÒѾ·Ç³£ºÃÁË¡£
¸öÈËÊǺÜϲ»¶Pivot¿Ø¼þµÄ£¬¿ÉÒÔ×óÓÒ»¬¶¯£¬Í¦ºÃʹµÄ¡£ÕâÀï¾ÍÓÃËüÁË£¬ºÍUWP´îÅ䣬¿°³ÆÍêÃÀ¡£
¾ßÌå²¼¾Ö´úÂëÎҾͲ»Ï¸ËµÁË£¬¸Ð¾õʵÔÚûʲôºÃ˵ÁË£¬ÏàÐÅ¿´¹ýÇ°ÃæÐ´µÄWindows AppϵÁÐÎÄÕµÄͯЬÃǶ¼¿ÉÒÔʵÏÖ³öÀ´ÁË£¬ÎÒ¾ÍÖ±½ÓÉϽØÍ¼ÁË¡£
ÏÈÀ´¿´¿´Òƶ¯°æµÄ£¨²¹³äÒ»¸ö¶Î×Ó°É£¬Î¢ÈíÐû²¼Windows 10 MobileÖÐÎÄÃû½Ð×öWindows 10 ÒÆ¶¯°æ£¬ÄÇÒÔºóÊÖ»úÆñ²»ÊÇÓÐWindows 10 ÒÆ¶¯°æÒƶ¯°æºÍWindows 10 ÒÆ¶¯°æÁªÍ¨°æÁË£©£¬ÕâÀïÎÒ»¹ÁôÁËͦ¶à¿Õ¸ñûÓÐʹÓ㬺óÐøÈç¹û·¢ÏÖÓÐʲô¹¦ÄÜÐèÒª¸ú½øÔÙ½øÐв¹³äÁË¡£
Èç¹ûÄ㻹ûÓпª·¢¹ýͨÓÃÓ¦Óã¬ÄÇÎÒÀ´½ÌÄãÈçºÎÃë±ä×ÀÃæ°æ°É¡£ÔÚÏÂÃæËùʾµÄ´°¿ÚÖУ¬Äã¾Í¿ÉÒÔ×ÔÓÉÇл»ÁË£¬¼´±ãÊÇIoT£¨Internet of Things£©Ò²ÊÇ¿ÉÒÔµÄร¬»¹ÓÐÇ¿´óµÄSurface Hub¡£
Çл»Ö®ºóÄØ£¿duang……
Ô¤¾¯……ÏÂÃæÊǹؼü²¿·Ö£¡
µ«ÊÇ£¬ÓùýWindows 10 µÄͯЬÃǶ¼ÖªµÀËùÓÐApp¶¼ÊÇ¿ÉÒÔËæÒâ·Å´óÒÔ¼°ËõСµÄ£¬ÄÇôÎÒÃÇÒ²ÊÔÊÔÄØ£¿
¹þ£¿ÕâÊÇÕ¦»ØÊÂ……
·Å´óÉè¼ÆÆ÷ºó£¬Äã¾Í»á·¢ÏÖÕâÃ´Ð¡Ëøà¸……<†·Ÿ"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="ÕâÀïдͼƬÃèÊö" src="/uploadfile/Collfiles/20151026/2015102608415973.png" title="\" />
ºÎ²»ÊÔÊÔ½«Ð¡Ëø¶¼ËøÉÏÄØ£¿ÎÒÓÃGIFÂ¼ÖÆÁËÒ»¶Î£¬´ó¼Ò¿´¿´£¬ÓÐûÓиоõºÜÉñÆæÄØ£¿
Ïà±ÈAndroidÉϵĸ÷ÖÖÊÊÅäÎÊÌ⣬Õâ¸ö¼òÖ±²»ÒªÌ«ÔÞѽ£¡
ÄÇô¾ÍÀ´ÊµÏÖ¾ßÌ幦ÄܺÃÀ²£¬Æäʵ°É£¬ÎҸоõÕⲿ·Ö¶¼Ã»±ØÒªÐ´ÁË£¬ÄãËùÐèÒªµÄ¾ÍÊÇÕâ4¸ö×Ö·û´®£¬ÓÃÓÚ±£´æÓû§ÊäÈëµÄ×Ö·û´®ºÍÊä³ö£¬Ö®ËùÒÔ¸÷ÉèÖÃ2¸öÊÇÒòΪÕâÀï¼ÈÐèÒª´Ó°¢À²®ÊýתÂÞÂíÊý£¬Ò²ÐèÒª´ÓÂÞÂíÊýת°¢À²®Êý¡£
private string _readyToCalc = ;
private string _output = ;
private string _readyToCalc2 = ;
private string _output2 = ;
ÄÇô¶ÔÓÚÒªÊä³öµÄ¸÷ÖÖÊý¾ÝÄØ£¬ÎÒ¾ÍÓõÄListView£¬¼òµ¥Ò×Ó㬻¹ºÜʡʡ£
µã»÷Êý×Ö0µÄClickʼþ£¬ÆäËûµÄ¶¼ÊÇÒ»ÑùµÄÁË£¬¹²ÓÃAddNumber·½·¨¶øÒÑ£º
private void BtnName0_Click(object sender, RoutedEventArgs e)
{
AddNumber(0);
TbInput.Text = _readyToCalc;
}
private void AddNumber(int num)
{
_readyToCalc += num.ToString();
}
µã»÷È·¶¨ºóµÄʼþ£¬Ò²¾ÍÊÇ¿ªÊ¼¼ÆËãÁË¡£¼ÆËã³ö_outputºó½«ËüÌí¼Óµ½LvOutputÉÏ¡£
private void BtnCalc_Click(object sender, RoutedEventArgs e)
{
try
{
int number = int.Parse(_readyToCalc);
_output = IntToRoman(number);
LvOutput.Items?.Add(_output);
}
catch (Exception)
{
// ignored
}
_readyToCalc = ;
TbInput.Text = ;
}
ÏàÓ¦µÄÇåÀí°´Å¥µÄʼþ£º
private void BtnClear_Click(object sender, RoutedEventArgs e)
{
_readyToCalc = ;
TbInput.Text = ;
}
private void BtnClearRecord_Click(object sender, RoutedEventArgs e)
{
LvOutput.Items?.Clear();
}
ÂÞÂíÊý×ÖµÄÒ²Ò»ÑùÁË£º
private void BtnNameI_Click(object sender, RoutedEventArgs e)
{
AddRoman(I);
TbInput2.Text = _readyToCalc2;
}
private void AddRoman(string roman)
{
_readyToCalc2 += roman;
}
private void BtnCalc2_Click(object sender, RoutedEventArgs e)
{
try
{
_output2 = RomanToInt(_readyToCalc2).ToString();
LvOutput2.Items?.Add(_output2);
}
catch (Exception)
{
// ignored
}
_readyToCalc2 = ;
TbInput2.Text = ;
}
private void BtnClear2_Click(object sender, RoutedEventArgs e)
{
_readyToCalc2 = ;
TbInput2.Text = ;
}
private void BtnClearRecord2_Click(object sender, RoutedEventArgs e)
{
LvOutput2.Items?.Clear();
}
¶ÔÓÚÓû§ÊäÈëµÄ°¢À²®Êý£¬Ó¦Óøø×ª»»³ÉÁËÂÞÂíÊý£¬µ«»¹µÃÓû§×Ô¼º¼ÇÏÂÀ´ÔÙµ½ÆäËûµØ·½¼üÈ룬ÊDz»ÊDz»Ì«ºÏÀí£¿ËùÒÔ£¬ÕâÀïÓ¦¸ÃÓÐÒ»¸öË«»÷¸´ÖƵŦÄÜ¡£
private void LvOutput_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
DataPackage dp = new DataPackage();
if (LvOutput.SelectedItem != null)
{
dp.SetText(LvOutput.SelectedItem.ToString());
Clipboard.SetContent(dp);
}
}
¹ØÓÚ¸´ÖÆÍ¼Æ¬£¬ÕâÀﻹÓÐÒ»²¿·Ö£¬´«ËÍÃÅ£ºWindows App¿ª·¢Ö®¼¯³ÉÉèÖᢰïÖú¡¢ËÑË÷ºÍ¹²Ïí £¬Çë×ÔÐÐÕÒµ½µÚÈý²¿·Ö“ʹÓÃÕ³Ìù°å”¡£
public enum Roman
{
M = 1000,
CM = 900,
D = 500,
CD = 400,
C = 100,
XC = 90,
L = 50,
XL = 40,
X = 10,
IX = 9,
V = 5,
IV = 4,
I = 1
};
public int RomanToInt(string s)
{
int result = 0;
Type R = typeof(Roman);
string first, second;
if (s.Length > 1)
{
first = s.Substring(0, 1); second = s.Substring(0, 2);
}
else
{
first = s.Substring(0, 1); second = ;
}
foreach (var r in Enum.GetNames(R).Reverse())
{
while ((r.Length == 1 && first == r) || (r.Length == 2 && second == r))
{
result += int.Parse(Enum.Format(R, Enum.Parse(R, r), d));
int lenR = r.Length, lenS = s.Length;
if (lenS - lenR < 1)
s = ;
else
s = s.Substring(lenR, lenS - lenR);
if (s.Length > 1)
{
first = s.Substring(0, 1); second = s.Substring(0, 2);
}
else if (s.Length == 1)
{
first = s.Substring(0, 1); second = ;
}
else
{
first = ; second = ;
}
}
}
return result;
}
public string IntToRoman(int num)
{
string result = ;
Type R = typeof(Roman);
foreach (var r in Enum.GetNames(R).Reverse())
{
while (num >= int.Parse(Enum.Format(R, Enum.Parse(R, r), d)))
{
result += r.ToString();
num -= int.Parse(Enum.Format(R, Enum.Parse(R, r), d));
}
}
return result;
}
×ÔÎҸоõдÕâÆª²©¿ÍµÄʱ¼ä±ÈдÕâ¸ö
´ó¼Ò¿ÉÒÔÏÂÔØ¿´¿´£¬´«ËÍÃÅ£ºÂÞÂíÊý¼ÆËãÆ÷ ¡£
´ó¼ÒÓÐʲô½¨Òé»òÒâ¼û»¶Ó¸æËßÎÒ£¨ÓÊÏäÔÚ²©¿Í×ó²à±ßÀ¸£©£¬Ò»Æð¸Ä½øÕâ¸öÓ¦Ó㬵±È»ÁË£¬Èç¹ûÄã×Ô¼ºÐ´Ò»±éÈ»ºó·¢µ½Ó¦ÓÃÉ̵êÎÒÒ²²»½éÒâ¡£