校招遇到这样一道题,感觉写的很好,结果笔试被刷了,求大神看下,想学习学习 1C

1.写一段代码进行100个16位无符号整形数组的增序函数
2.再写一段代码,对上题中的输出结果进行制定输入数值的相应位置的查找

6个回答

就是对长度为16位的数据进行排序?
直接一个方法啊
Arrays.sort(数组名)

想要的答案不是直接用封装的类,是要把排序和查找算法写出来,不知道你的答案是啥。。。

查找直接写的是二分查找,排序直接写的快排。。 笔试就GG了

这中因素有很多,如果大方向没问题,细节也是占很大比例的。什么长度判断,说没说有没有重复的数据,重复的数据该着第几个,而且还的是unsigned long long,写longlong也是错啊

问别人不如问自己,因为只有你自己可以掌控自己,你首先百度看看人家怎么写的 然后对一下,后者直接去问考试老师,他看见你那么好学他会告诉你的。还会表扬你。。。

不知道你用的是什么语言。。Java 里面有一个 BigDecimal 类的compareTo 方法可以对比较长的数进行比较

zhang_oracle
zhang_oracle 这个方法好像只是比较BigDecimal类型的吧!
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
校招笔试遇到一道算法题
``` 现有一个数组A,对于A中的每个元素A[i],都可以进行+K或者-K的操作(每个元素仅能选择加或减一-次)。 在这个操作后,我们将得到许多不同版本的数组B。请找出所有可能的B数组中,数组中最大值与最小值里最小的差值。 输入描述: 每组测试数据的第一行为一个整数K ( 0<=K<=10000),第二行为数组A ( 1 <= A.length <= 10000, 0 <=A[i] <= 10000 ) 输出描述: 对每组测试数据,在单独的一行里输出最小的差值。 输入样例: 3 1 3 6 输出样例: 3 ``` 想了很久,没想到怎么实现+k-K,求各位告知
今天笔试光宇游戏,遇到这样一道题?
今天笔试光宇游戏,有这样一道题:游戏系统有这样一个程序,可以接受玩家的充值信息,又可以让任意玩家查询充值信息(不适用数据库和磁盘文件),问怎么解决这个问题?
【求助笔试题]】 找出VB.NET写的21点扑克牌程序中的问题
遇到一个面试题,题目要求是这样的 写了一个21点扑克牌的程序,用VB.NET写的,需要你找出其中的bugs,尽可能多 的找出,并写明错误原因 由于小弟写C#的,对VB.NET实在不熟悉,还希望有经验前辈帮忙看看 小弟不胜感觉 代码一共有6个类 分别是 Blackjack Card Deck Game Hand Player ProbabilityCalculator 代码文件如下 ``` ''' <summary> ''' Emulates a black jack game between two different AI players. 模拟两个不同的AI玩家之间的黑杰克游戏。 ''' </summary> Public Class Blackjack Public Shared ReadOnly AllCards As New List(Of Card) ''' <summary> ''' Static constructor. ''' Generates a list containing one of every possible card.生成一个包含所有可能卡片的列表 ''' This simplified game assumes a single deck of 52 cards, one of every unique suit and rank combination. ''' 这个简化的游戏假设有一副52张的牌,每副牌都有自己独特的花色和等级组合。 ''' </summary> Shared Sub New() For Each s As Card.Suit In [Enum].GetValues(GetType(Card.Suit)) For Each r As Card.Rank In [Enum].GetValues(GetType(Card.Rank)) AllCards.Add(New Card(r, s)) Next Next End Sub ''' <summary> ''' Main method. Constructs the object, plays the game, prints the output. ''' Don't change this method! ''' </summary> ''' <param name="args">Command line args, unused.</param> Public Shared Sub Main(args As String()) Dim deck As New Deck(AllCards) Dim random As New Random() Dim calculator As New ProbabilityCalculator(AllCards) Dim player1 As New Player("Harry", calculator) Dim player2 As New Player("Joe", calculator) Dim game As New Game(deck, random, player1, player2) Console.WriteLine(game.Play()) Console.ReadLine() End Sub End Class ``` Imports System Imports System.Collections.Generic Imports System.Text ''' <summary> ''' Represents a single playing card, the combination of a suit (Spades, hearts, clubs, diamonds) ''' and a rank (Ace, two, three... Jack, Queen, King). ''' 表示一张纸牌,是花色(黑桃、红心、梅花、方块)的组合 ''' 还有一排(a,二,三……杰克,王后,国王)。 ''' Any particular card is worth a number of points, according to its rank. ''' 任何一张特定的纸牌,根据它的等级,值若干点数。 ''' In this simplified game, an Ace is always worth 1 points. ''' A two is with 2 points, three worth 3, and so on. ''' The face cards (Jack, Queen, King) are worth 10 points. ''' 在这个简化的游戏中,a总是值1分 '''2是2分,3是3分,以此类推 '''脸牌(杰克、皇后、国王)值10分。 ''' </summary> Public Class Card Public Enum Suit Spades Hearts Clubs Diamonds End Enum Public Enum Rank Ace = 1 Two = 2 Three = 3 Four = 4 Five = 5 Seven = 7 Eight = 8 Nine = 9 Ten = 10 Jack = 11 Queen = 12 King = 13 End Enum ReadOnly mSuit As Suit ReadOnly mRank As Rank Public Sub New(r As Rank, s As Suit) mSuit = s mRank = r End Sub ''' <summary> ''' Returns a human readable name of the card, for example "Ace of Spades", suitable for inclusion in ''' the game's console output. ''' 返回人类可读的纸牌名称,例如“黑桃a”,适合包含在游戏控制台输出中 ''' </summary> ''' <returns>Name of the card</returns> Public ReadOnly Property Description As String Get ' Return mRank + " of" + mSuit Return mRank.ToString + " of" + mSuit.ToString End Get End Property ''' <summary> ''' Returns the number of points that this card is worth, according to its rank. ''' 返回该牌值多少分,根据其分值。 ''' </summary> ''' <returns>Point value of this card.</returns> Public ReadOnly Property Points As Integer Get Return CType(mRank, Integer) End Get End Property Public Overrides Function ToString() As String Return Description End Function End Class `` ''' <summary> ''' Represents a collection of playing cards that will be dealt in the game. ''' 表示将在游戏中处理的纸牌集合。 ''' A fresh deck usually begins with the cards in an ordered sequence according to their suit and rank. ''' 一副新牌通常是按照牌的花色和等级顺序排列的。 ''' Before dealing cards to the players, the dealer should shuffle the deck, <see cref="System.Random" /> ''' 发牌前,发牌人应洗牌 ''' otherwise cards will be dealt in their original sequence. ''' 否则,牌将按原来顺序处理 ''' During the game, the dealer deals one card at a time, removing it from the top ''' of the deck, and adding it to the player's hand. ''' 在游戏中,发牌人一次发一张牌,把它从牌顶移开 并将其添加到玩家手上。 ''' </summary> ''' <remarks></remarks> Public Class Deck ''' <summary> ''' The cards remaining to be dealt ''' 剩下要处理的牌集合 ''' </summary> Private mCards As List(Of Card) ''' <summary> ''' Constructs a fresh deck with the specified cards in the given sequence ''' 按照给定的顺序用指定的牌组构造新的牌组 ''' </summary> ''' <param name="cards">@param cards cards</param> Public Sub New(cards As List(Of Card)) mCards = cards End Sub ''' <summary> ''' Randomizes the sequence of the cards within the deck. ''' 将牌堆中的牌的顺序随机化 ''' </summary> Public Sub Shuffle(random As Random) ' Keep a reference to the existing cards, then build a new list and copy ' 保持对现有卡片的引用,然后建立一个新的列表并复制 ' the cards over in a random sequence. ' 这些卡片是随机排列的。 Dim originalCards As List(Of Card) = mCards Dim shuffledCards As New List(Of Card) Dim numberOfCards As Integer = originalCards.Count For i As Integer = 0 To numberOfCards Dim nextCardIndex As Integer = random.Next(originalCards.Count) Dim nextCard As Card = originalCards(nextCardIndex) shuffledCards.Add(nextCard) Next mCards = shuffledCards End Sub ''' <summary> ''' Draws a card from the top of the deck, so that it can be added to a player's hand. ''' 从牌堆顶部抽一张牌,这样它就可以加到玩家手上。 ''' </summary> ''' <returns>Dealt card</returns> Public Function Deal() As Card Return mCards(0) End Function ''' <summary> ''' Returns the list of cards in the deck, in the sequence that they are going to be dealt. ''' 返回牌堆中纸牌的列表,按将要处理它们的顺序排列。 ''' </summary> ''' <returns>Cards cards in the deck</returns> Public ReadOnly Property Cards As List(Of Card) Get Return mCards End Get End Property End Class ``` ''' <summary> ''' Controller responsible for overall game loop. ''' 负责整个游戏循环的控制器 ''' </summary> Public Class Game Private mDeck As Deck Private mRandom As Random Private mPlayer1 As Player Private mPlayer2 As Player Public Sub New(deck As Deck, random As Random, player1 As Player, player2 As Player) mDeck = deck mRandom = random mPlayer1 = player1 mPlayer2 = player2 End Sub Public ReadOnly Property Deck As Deck Get Return mDeck End Get End Property Public ReadOnly Property Random As Random Get Return mRandom End Get End Property Public ReadOnly Property Player1 As Player Get Return mPlayer1 End Get End Property Public ReadOnly Property Player2 As Player Get Return mPlayer2 End Get End Property ''' <summary> ''' Main control loop. You an imagine this routine to reflect the actions of the dealer, who ''' coordinates gameplay. ''' 主要控制回路。你可以想象这个程序反映了协调游戏玩法的商人的行动。 ''' This simple game is played by two players. ''' The dealer is given a single fresh deck of cards, which he then shuffles. ''' Each player is dealt two cards. ''' Then each player takes their turn. ''' During their turn, a player can choose to "hit", which means they want to be dealt another card, ''' or to "stand", which means they will end their turn. ''' The player may "hit" as many times as they wish before ending their turn. ''' Once both players have taken their turn, the winner is determined. ''' The winner is the player with the greatest number of points without exceeding 21. ''' 这个简单的游戏是两个玩家玩的。发牌人拿到一副新的牌,然后洗牌。每人发两张牌。然后每个玩家轮流上场 '''在他们的回合中,玩家可以选择“hit”,这意味着他们想要发另一张牌,或者选择“stand”,这意味着他们将束他们的回合。 '''玩家可以在回合结束前按自己的意愿“命中”多少次。一旦两名选手轮流上场,胜者就已确定。得分最多且不超过21分者为胜者。 ''' </summary> ''' <returns>Output from the game</returns> Public Function Play() As String Dim output As New StringBuilder() ' The game begins... Dim hand1 = New Hand(mPlayer1) hand1.AddCard(mDeck.Deal()) hand1.AddCard(mDeck.Deal()) Dim hand2 = New Hand(mPlayer2) hand1.AddCard(mDeck.Deal()) hand1.AddCard(mDeck.Deal()) output.AppendFormat("{0} starts with {1}{2}", hand1.Player.Name, hand1.Description, Environment.NewLine) output.AppendFormat("{0} starts with {1}{2}", hand2.Player.Name, hand2.Description, Environment.NewLine) ' Players take their turns Dim hands As New List(Of Hand)({hand1, hand2}) For Each hand As Hand In hands Dim name As String = hand.Player.Name output.AppendFormat("{0}'s turn...{1}", name, Environment.NewLine) While (hand.Player.WantsToHit(hand.TotalPoints)) Dim dealt As Card = mDeck.Deal() output.AppendFormat("{0} hits: {1}{2}", name, dealt.Description, Environment.NewLine) hand.AddCard(dealt) End While If hand.TotalPoints > 21 Then output.AppendFormat("{0} bursts.{1}", name, Environment.NewLine) Else output.AppendFormat("{0} stands.{1}", name, Environment.NewLine) End If Next ' Determine the winner If hand1.Beats(hand2) Then output.AppendFormat("{0} WINS!{1}", hand1.Player.Name, Environment.NewLine) ElseIf hand2.Beats(hand1) Then output.AppendFormat("{0} WINS!{1}", hand2.Player.Name, Environment.NewLine) Else output.AppendFormat("It's a DRAW!{0}", Environment.NewLine) End If Return output.ToString() End Function End Class ``` ''' <summary> ''' Represents the collection of cards that have been dealt to a player. ''' 表示已分发给玩家的纸牌集合 ''' </summary> Public Class Hand ''' <summary> ''' The cards currently held in this hand ''' </summary> Private mCards As List(Of Card) ''' <summary> ''' The player to whom this hand belongs ''' </summary> Private mPlayer As Player ''' <summary> ''' Constructs a new hand for the specified player. ''' </summary> ''' <param name="player">The player to whom this hand belongs</param> Public Sub New(player As Player) mPlayer = player mCards = New List(Of Card)() End Sub ''' <summary> ''' Returns the player that this hand belongs to. ''' </summary> ''' <returns>player</returns> Public ReadOnly Property Player As Player Get Return mPlayer End Get End Property ''' <summary> ''' Adds a card to the hand ''' </summary> ''' <param name="card">the card to be added</param> Public Sub AddCard(card As Card) mCards.Add(card) End Sub ''' <summary> ''' Returns the total points for this hand by adding up the points of each card. ''' </summary> ''' <returns>total points</returns> Public ReadOnly Property TotalPoints As Integer Get Dim points As Integer = 0 For i As Integer = 0 To (mCards.Count - 1) points += mCards(i).Points Next Return points End Get End Property ''' <summary> ''' Determines whether this hand is better than the other player's hand. ''' 确定这手牌是否比其他玩家的那手牌好 ''' In general, the winning hand is the hand with the greatest number of points. ''' 一般来说,获胜的手是得分最多的手 ''' But, if the hand exceeds 21 then it is a "bust" - the other player wins. ''' 但是,如果这只手超过21,那么它就是一个“半身像”——另一个玩家赢了 ''' If both players bust, or if their total points are the same, then it is a draw. ''' 如果双方球员都失败了,或者他们的总得分相同,那么就是平局 ''' </summary> ''' <param name="other">the hand to compare against</param> ''' <returns>True, if this is a better hand than the specified other hand</returns> Public Function Beats(other As Hand) As Boolean Dim myScore As Integer = TotalPoints If myScore > 21 Then Return False End If Dim otherScore As Integer = other.TotalPoints If otherScore > myScore Then Return False End If Return True End Function ''' <summary> ''' Returns a formatted description of the cards in the hand, suitable for screen output ''' </summary> ''' <returns>Description of the hand</returns> Public ReadOnly Property Description As String Get Dim desc As New StringBuilder() desc.Append(mCards.Count) desc.Append(" cards: ") Dim first As Boolean = True For Each card As Card In mCards If Not first Then desc.Append(", ") End If desc.Append(card.Description) first = False Next desc.Append(".") Return desc.ToString() End Get End Property End Class ``` ''' <summary> ''' Represents a player, and their decision making logic for whether to ''' "hit" or "stand" ''' </summary> Public Class Player ''' <summary> ''' A friendly name that identifies the player. ''' 一个识别玩家的友好名字 ''' </summary> Private mName As String ''' <summary> ''' Used for calculating probability of bust ''' 用于计算破产概率 ''' </summary> Private mProbabilityCalculator As ProbabilityCalculator ''' <summary> ''' Constructor. ''' </summary> ''' <param name="name">player's name</param> ''' <param name="probabilityCalculator">for calculating probability of bust</param> ''' <remarks></remarks> Public Sub New(name As String, probabilityCalculator As ProbabilityCalculator) mName = name mProbabilityCalculator = probabilityCalculator End Sub ''' <summary> ''' Returns the player's name ''' </summary> ''' <returns>name</returns> Public ReadOnly Property Name As String Get Return mName End Get End Property ''' <summary> ''' Determines whether the player would like to "hit" (have another card dealt to their hand), ''' or "stand" (end their turn). ''' In this simple implementation, the player's strategy is to hit, so long as they are more likely ''' to increase their points than they are to bust. ''' If their current points are at 21, they should always stay ''' If their current points are at 10 or below, they can never bust, so they should always hit ''' For points in between, they will hit so long as the probability of the next draw causing a bust is less ''' than 50%. ''' 决定玩家是想“击中”(手上有另一张牌),还是“站着”(结束他们的回合)。在这个简单的实现中,玩家的策略是命中, ''' 只要他们更有可能增加他们的点数而不是失败。如果他们现在的分数是21分,他们应该一直保持下去 '''如果他们现在的点数是10点或以下,他们永远不会破产,所以他们应该总是击中中间的点数,只要下一次平局导致破产的概率小于50%,他们就会击中。 ''' </summary> ''' <param name="currentPoints">The total of the cards currently held by this player</param> ''' <remarks>True if the players wants to "hit", false if they want to "stand".</remarks> Public Function WantsToHit(currentPoints As Integer) If currentPoints >= 21 Then Return False ElseIf currentPoints <= 10 Then Return True Else Return mProbabilityCalculator.CalculateProbability(currentPoints) < 0.5 End If End Function End Class ``` ''' <summary> ''' Used by the player's hit/stand decision making, to determine the probability of busting if ''' they deal another card. ''' 用于玩家的命中/立场决策,以确定如果他们发另一张牌失败的概率 ''' </summary> Public Class ProbabilityCalculator ''' <summary> ''' All possible cards ''' </summary> Private mFullDeck As List(Of Card) Public Sub New(fullDeck As List(Of Card)) mFullDeck = fullDeck End Sub ''' <summary> ''' Determines the probability of a "bust" if the players deals one more card into their hand. ''' A "bust" occurs if the next card takes their total over 21. ''' 确定一个“破产”的概率,如果玩家在他们的手上多出一张牌。如果下一张牌的总数超过21,就会发生“破产” ''' ''' The probability is simulated as follows: ''' Consider all possible cards that might be dealt next if the player chooses to "hit". ''' (Since "card counting" is a no-no in Blackjack, we imagine that *any* of the cards from a ''' normal full deck could be dealt next. ie. don't exclude cards that have already been dealt). ''' For each possibility, determine the total points that would be achieved if that card ''' were added to the player's hand, and decide whether or not it is a bust. ''' The probability of a bust is the percentage of all the combinations tried that resulted in a bust. ''' 概率模拟如下: 考虑一下,如果玩家选择“命中”,接下来可能要发的所有牌。 '''(由于“数牌”在21点游戏中是不允许的,我们认为接下来可以处理任何一张普通的整副牌中的牌。ie。不要排除已经发过的牌)。 '''对于每一种可能性,确定如果那张牌可以获得的总积分 被添加到玩家手上,并决定它是否是一个破产。 '''破产的概率是所有尝试过的导致破产的组合的百分比。 ''' ''' For example, if the player's current total is 12, then dealing any card worth 10 points ''' will result in a bust. Out of the 52 cards in a deck, 16 of them are worth 10 points (the Tens, Jacks, ''' Queens and Kings of Spades, Hearts, Clubs and Diamonds). So, the probability of a bust ''' is 0.3077 (30.77%), which is 16 divided by 52. ''' Similarly, if the player's current total is 19, there are 44 possible cards that will result in ''' a bust (everything except the aces and twos), and so the probability is 0.8462. ''' 例如,如果玩家当前的总数是12,那么处理任何值10分的牌 会导致破产。在一副牌中的52张牌中,16张值10分(10,j,黑桃、红桃、梅花和方块的王后和国王)。 ''' 因此,破产的概率是0.3077(30.77%)也就是16除以52。同样的,如果玩家当前的总数是19,那么有44张可能导致失败的牌(除了a和2以外的所有牌),所以概率是0.8462。 ''' </summary> ''' <param name="currentPoints">the total points for the player's current hand</param> ''' <returns>probability of a bust if one more card is dealt (0.5f = 50%)</returns> Public Function CalculateProbability(currentPoints As Integer) As Decimal ' Problem: we can't calculate the probability if we don't have any cards to simulate with. ' This shouldn't happen, but to prevent potential crashes, we'll return 50% ' 问题:如果我们没有卡片来模拟,我们就无法计算概率。这不应该发生,但为了防止潜在的崩溃,我们将返回50% If mFullDeck.Count = 0 Then Return 0.5 End If Dim numberOfBusts As Integer = 0 Dim numberOfNonBusts As Integer = 0 For Each card As Card In mFullDeck Dim potentialPoints = currentPoints + card.Points If (potentialPoints > 21) Then numberOfBusts += 1 Else numberOfNonBusts += 1 End If Next Return numberOfBusts / CType(numberOfNonBusts, Decimal) End Function End Class ``` ``` ```
笔试题中遇到的多组case问题,如何判断输入结束
最近参加多次笔试,笔试中多次遇到多组case的笔试题 即一道题可输入多组测试,但是没有判断输入结束的表示,、 这种情况下应该怎么做判断呢 举个例子: 输入两个点,求他们直接距离。可一次输入多组, 但是题中没有给出输入结束的标识,自己定义的标识在运行代码时又无法通过 求解:这种情况下该怎么做呢?
一道直接让你直接被公司录用的笔试题(逻辑能力部分)
![图片说明](https://img-ask.csdn.net/upload/201909/27/1569586670_715204.png) 做了很久都没有做出来,想和大家一起探讨
阿里巴巴一道智力题笔试题
有三张牌A,B,C,其中一张是King。如果你押中了King,那么就获胜,否则就输。现在你选择了押其中的一张牌1,电脑帮你排除了另外两张牌中的一张2,那么你是否重新选择押3,从而更容易获胜? http://www.manong1024.com/q/403
有大佬会做这个题目吗,顺便带一下思路,我今天笔试做这个感觉搞得很迷
题1.1、删除表的重复记录 如果记录完全相同才算重复记录,请书写此种情况下的SQL语句; 如果有id主键(数字,自增1模式),请书写此种情况下的SQL语句。
今年阿里巴巴的一道笔试题
public class Test1 { public static int k = 0; public static Test1 t1 = new Test1("t1"); public static Test1 t2 = new Test1("t2"); public static int i = print("i"); public static int n = 99; public int j = print("j"); { print("构造块"); } static{ print("静态块"); } public Test1(String str){ System.out.println((++k) + " : " + str + " i=" + i + " n=" + n); ++i;++n; } public static int print(String str){ System.out.println((++k) + " : " + str + " i=" + i + " n=" + n); ++n; return ++i; } public static void main(String[] args) { Test1 t = new Test1("init"); } } //请高手解释一下输出结果为啥是那些,为啥第一行输出的时候n=0呢
今天做了一道神奇的笔试题
如何用一行jquer实现动画轮播 ``` <div class=“slide”> <img src=“1.png”> <img src=“2.png”> <img src=“3.png”> <img src=“4.png”> </div> ```
校招面试遇到的非技术问题,求大神指点
我想问一下,有些企业的网上笔试部分之编程题,有些题目会这样叙述: 首先给出题目的要求。 输入描述:多组测试数据,对于每组测试数据:。。。。(具体的要求) 输出描述:。。。(针对每组数据,输出结果) 问题:我在编码完成后,提交运行,得到“**错误答案,您的程序不能通过所有的测试数组, case:2.5%”**这是什么原因?是我程序编的不对吗?我想知道题目中的多组测试数据该如何处理?
昨天京东笔试的一道选择题,不理解
代码: ``` package cn.lut.test; public class SameTest { public static void main(String[] args) { // TODO Auto-generated method stub Integer a=new Integer(1); Integer b=1; int c=1; System.out.println(a==b); System.out.println(a==c); System.out.println(b==c); } } ``` 输出结果: false true true 疑惑:有程序运行结果可得a和c地址相同,b和c地址相同,不是可以退出a和b相同吗?Integer a=1和int a=1有什么区别? 补充:不理解的地方是为什么a和c相同。
H5页面禁止缩放后还是能缩放
![图片说明](https://img-ask.csdn.net/upload/201503/28/1427554028_753226.jpg) 遇到这样一道笔试题,不知到怎么回答。 按理说,按题中那样写,H5页面就应该不能缩放了。但在实际开发中,我自己也遇到过问题,即使这样写了,Android平台上的浏览器中页面仍然能够缩放,谁能给个解答?
我懂!是进制的问题导致Java的double型运算结果显示有精度问题,但是!!
但是,做笔试的时候,遇到这样一道题: 下列表达式中,可以得到精确结果的是哪些? A、double d1 = 3.0-2.6; B、double d2 = 2.5*1.5; C、double d3 = 3.0-2.5; D、double d4 = 1.0-0.6; E、double d5 = 4.015*100; F、double d6 = 4.015*10; 实在是遇到这样的挫科的题目,我临场时该怎么解噜?!总不能写上一句这是由于进制转换的问题导致的。选项由老师你自己挑哈~~bye~
携程2018秋招笔试编程题
携程旅行网 2018校招 研发类在线考试 编程题|20.0分2/3 合并数组的的中位数 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 两个已排好序的数组,找出两者合并后的数组的中位数。 例如: 给出A=[1,2,3,4,5,6]和B=[2,3,4,5],它们合并后的数组是[1,2,3,4,5,6],合并后数组的中位数是3.5(注:(3+4)/2)。 给出A=[1,2,3]和B=[4,5],它们合并后的数组是[1,2,3,4,5],合并后数组的中位数是3。 输入 第一行读入一个正整数n,表示第一个数组的元素个数,第二行读入n个递增整数,表示第一个排好序的数组,第三行读入一个正整数m,表示第二个数组的元素个数,第四行读入m个递增整数,表示第二个排好序的数组 样例输入 6 1 2 3 4 5 6 4 2 3 4 5 样例输出 3.5 —————————————————————————————————— 以上是题目,下面是我的代码,不知道为什么通过率只有11%,求大神解答,多谢了 using System; using System.Linq; namespace Ctrip { class Program { static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); var first = changeInt(Console.ReadLine().Split(' ')); int m = int.Parse(Console.ReadLine()); var second = changeInt(Console.ReadLine().Split(' ')); int i = 0; int j = 0; var result = new int[m + n]; int index = 0; while (i < n && j < m) { if (first[i] < second[j]) { result[index] = first[i]; i++; } else if (first[i] == second[j]) { result[index] = first[i]; i++; j++; } else { result[index] = second[j]; j++; } index++; } if (i < n) { for (; i < n; i++) { result[index] = first[i]; index++; } } if (j < m) { for (; j < m; j++) { result[index] = second[j]; index++; } } if (index % 2 == 0) { var middle = index / 2; var r = float.Parse((result[middle - 1] + result[middle]).ToString()); r = r / 2; Console.WriteLine(r); } else { int middle = index / 2; Console.WriteLine(result[middle]); } } static int[] changeInt(string[] input) { var arr = new int[input.Length]; for (int i = 0; i < input.Length; i++) { arr[i] = int.Parse(input[i]); } return arr; } } }
java笔试题,根据代码写结果
public class Base { int i; Base() { add(1); } void add(int v) { i+=v; } void print() { System.out.println(i); } } public class Extention extends Base { Extention() { add(2); } void add(int v) { i+=v*2; } } public class Qd01 { public static void main(String[] args) { bogo(new Extention()); } static void bogo(Base b) { b.add(8); b.print(); } }
求解答!!哭了,笔试题目,这个的代码要怎么写呢!没有规定语言
设计并实现排行榜业务,排行榜有分数和时间两个字段,分数越高排名越靠前,分数相同时越早达到分数的排名越靠前.所有玩家访问排行榜的时候都可以看见前100名实时数据,101-9999名只能看见自己的排名,超过1w名显示未上榜
一道编程题,自己做的结果对,但是就是通不过牛客网上的编译器,不知为什么?
洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。 首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程, 先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌, 直到最后放下左手的第一张牌。接着把牌合并起来就可以了。 例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组, 左手拿着1,2,3;右手拿着4,5,6。在洗牌过程中按顺序放下了6,3,5,2,4,1。把这六张牌再次合成一组牌之后, 我们按照从上往下的顺序看这组牌,就变成了序列1,4,2,5,3,6。 现在给出一个原始牌组,请输出这副牌洗牌k次之后从上往下的序列。 输入描述: 第一行一个数T(T ≤ 100),表示数据组数。对于每组数据,第一行两个数n,k(1 ≤ n,k ≤ 100), 接下来一行有2n个数a1,a2,...,a2n(1 ≤ ai ≤ 1000000000)。表示原始牌组从上到下的序列。 输出描述: 对于每组数据,输出一行,最终的序列。数字之间用空格隔开,不要在行末输出多余的空格。 输入例子: 3 3 1 1 2 3 4 5 6 3 2 1 2 3 4 5 6 2 2 1 1 1 1 输出例子: 1 4 2 5 3 6 1 5 4 3 2 6 1 1 1 1 #include <stdio.h> #include <stdlib.h> void Shuffle() { //输入要进行洗牌的组数 int groups; scanf("%d", &groups); int i, j, k; //循环变量 int g; //定义了循环变量g,遍历每组数据 int n; //定义了一堆牌数量变量n,共2n张牌 int times; //定义了要进行洗牌的次数 //动态分配结果输出数组的行 int **row = (int**)malloc(sizeof(int*)*groups); for (g = 0; g < groups; g++) { scanf("%d", &n); //输入要进行洗牌的n张牌,共2n张牌 scanf("%d", &times); //输入要进行洗牌的次数 //动态分配结果输出数组的列 row[g] = (int *)malloc(sizeof(int) * 2 * n); //为要洗的牌初始化 int value; int *cards = (int *)malloc(sizeof(int) * 2 * n); for (i = 0; i < 2 * n; i++) { scanf("%d", &value); cards[i] = value; } int *tmp_array = (int *)malloc(sizeof(int) * 2 * n); //临时存储结果数组 //按照输入的洗牌次数进行洗牌 for (j = 0; j < times; j++) { int LPos = 0, RPos = n; //两堆牌的起始点 int LeftEnd = n - 1, RightEnd = 2 * n - 1; //两堆牌的终点 k = 0; while (LPos <=LeftEnd && RPos<= RightEnd) { tmp_array[k++] = cards[LPos++]; tmp_array[k++] = cards[RPos++]; } //cards临时结果 for (i = 0; i < 2 * n; i++) cards[i] = tmp_array[i]; } //保存结果 for (i = 0; i < 2 * n; i++) row[g][i] = tmp_array[i]; //释放空间 free(cards); free(tmp_array); } //输出结果 for (i = 0; i < groups; i++) { j = 0; while (row[i][j]>0) //这里是我处理内存溢出bug的方法,比较简陋 { printf("%d ", row[i][j]); j++; } printf("\n"); } } int main() { Shuffle(); return 0; }
一道用 sizeof 求结构体所占大小的笔试题?求教
下列程序,为什么输出的结果是 120? ``` int main(int argc, char* argv[]) { union u_type { int i; double x; float f; }; struct str_type { char str[100]; union u_type u[2]; }; printf("%d\n",sizeof(struct str_type)); } ```
有一道去哪网校园招聘的笔试题大家帮忙看一下,是关于相对路径转绝对路径的
1.写一个函数,转换相对路径为绝对路径,比如:/home/abs/../temp/new/../,输出路径为:/home/temp
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
MyBatis研习录(01)——MyBatis概述与入门
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往——自定义View系列教程(10篇) 走出思维困境,踏上精进之路——Android开发进阶精华录 讲给Android程序员看的前端系列教程(40集免费视频教程+源码) 版权声明 本文原创作者:谷哥的小弟 作者博客
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
Python绘图,圣诞树,花,爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
文章目录1. 前言2. 数据下载3. 数据处理4. 数据可视化 1. 前言 今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。 2月6日追记:本文发布后,腾讯的数据源多次变更u
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
渗透测试-灰鸽子远控木马
木马概述 灰鸽子( Huigezi),原本该软件适用于公司和家庭管理,其功能十分强大,不但能监视摄像头、键盘记录、监控桌面、文件操作等。还提供了黑客专用功能,如:伪装系统图标、随意更换启动项名称和表述、随意更换端口、运行后自删除、毫无提示安装等,并采用反弹链接这种缺陷设计,使得使用者拥有最高权限,一经破解即无法控制。最终导致被黑客恶意使用。原作者的灰鸽子被定义为是一款集多种控制方式于一体的木马程序
Python:爬取疫情每日数据
前言 有部分同学留言说为什么412,这是因为我代码里全国的cookies需要你自己打开浏览器更新好后替换,而且这个cookies大概只能持续20秒左右! 另外全国卫健委的数据格式一直在变,也有可能会导致爬取失败! 我现在已根据2月14日最新通报稿的格式修正了! 目前每天各大平台,如腾讯、今日头条都会更新疫情每日数据,他们的数据源都是一样的,主要都是通过各地的卫健委官网通报。 为什么已经有大量平台做
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告(本文) 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
粒子群算法求解物流配送路线问题(python)
粒子群算法求解物流配送路线问题(python) 1.查找论文文献 找一篇物流配送路径优化+粒子群算法求解的论文 参考文献:基于混沌粒子群算法的物流配送路径优化 2.了解粒子群算法的原理 讲解通俗易懂,有数学实例的博文:https://blog.csdn.net/daaikuaichuan/article/details/81382794 3.确定编码方式和解码策略 3.1编码方式 物流配送路线的
教你如何编写第一个简单的爬虫
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。 下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。 第一步:获取页面 #!/usr/bin/python # coding: utf-8 import requests #引入包requests link = "http://www.santostang.
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数 c#日期精确到分钟 c#自定义异常必须继承 c#查表并返回值 c# 动态 表达式树 c# 监控方法耗时 c# listbox c#chart显示滚动条
立即提问